منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
سؤال في التري فيو وكيفية عرض أكثر من صورة في بيكتشر بوكس - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : سؤال في التري فيو وكيفية عرض أكثر من صورة في بيكتشر بوكس (/showthread.php?tid=3697)

الصفحات: 1 2


RE: سؤال في التري فيو وكيفية عرض أكثر من صورة في بيكتشر بوكس - رحوووم - 29-08-14

بارك الله فيك أخي ممدوح الخطيب على المثال الرائع ^_^

لكن كان قصدي ... إن في قاعدة البيانات يكون لكل موظف جنب إسمه إسم الملف إلي فيه الصور الخاصة به ... وعند فتح البرنامج واختيار أحد الموظفين ومن ثم الضغط على عرض الصورة الخاصة به ... أريد أن يتم عرض جميع الصور إلي في الملف إلي بسمه

أتمنى الفكرة تكون وضحت

والله حاب أعرف كيف يتم عمل هذا الشيء ... وجزاكم الله خيرا


RE: سؤال في التري فيو وكيفية عرض أكثر من صورة في بيكتشر بوكس - ممدوح الخطيب - 29-08-14

أخي انا عملت لك مثال بكدة لو لاحظت انك فقط تحدد مسار المجلد ويعرض الصور التي به اما موضوع قاعدة البيانات فأنت فقط تحفظ مسار المجلد لكل موظف ولما تعرض الموظفين عند الضغط على اسم الموظف ترسل مسار المجلد الخاص به فيتم تحميل الصور له.


RE: سؤال في التري فيو وكيفية عرض أكثر من صورة في بيكتشر بوكس - silverlight - 30-08-14

استفسار بسيط ما هو عدد الصور لكل موظف؟


RE: سؤال في التري فيو وكيفية عرض أكثر من صورة في بيكتشر بوكس - silverlight - 30-08-14

الكود التالي عبارة عن كونترول تم توريثه من ListBox و اعتقد انك من الممكن ان تستخدمه لعرض الصور الخاصة بكل موظف .....لقد قمت بضبط ارتفاع الصورة ليكون في الحدود المعقولة للإستخدام لكن يمكنك ضبك اقصي ارتفاع للكونترول كما يحلو لك و يناسب احتياجاتك

الكونترول مزود بخاصية ImageList و يقوم برسم الصور و التكست بالإضافة الي اشياء أخري لكن يمكنك ان تستخدمه لعرض الصور فقط

كود :
Public Class ImageListBox
    Inherits ListBox

    Private imgs As ImageList = New ImageList()

    Public Property ImageList() As ImageList
        Get
            Return Me.imgs
        End Get
        Set(value As ImageList)
            Me.imgs = value
        End Set
    End Property

    Public Sub New()
        Me.DrawMode = DrawMode.OwnerDrawFixed
        MyBase.IntegralHeight = False
        MyBase.ItemHeight = 150
    End Sub

    Protected Overrides Sub OnDrawItem(e As DrawItemEventArgs)
        e.DrawBackground()
        e.DrawFocusRectangle()
        If e.Index < 0 OrElse e.Index >= MyBase.Items.Count Then
            e.Graphics.DrawString(Me.Text, e.Font, New SolidBrush(e.ForeColor), CSng((e.Bounds.Left + Me.imgs.ImageSize.Width)), CSng(e.Bounds.Top))
        Else
            If MyBase.Items(e.Index).[GetType]() Is GetType(ImageListItem) Then
                Dim imageListItem As ImageListItem = CType(MyBase.Items(e.Index), ImageListItem)
                Dim color As Color = If((imageListItem.ForeColor <> color.FromKnownColor(KnownColor.Transparent)), imageListItem.ForeColor, e.ForeColor)
                Dim font As Font = If(imageListItem.Mark, New Font(e.Font, FontStyle.Bold), e.Font)
                If imageListItem.ImageIndex <> -1 Then
                    Me.ImageList.Draw(e.Graphics, e.Bounds.Left, e.Bounds.Top, imageListItem.ImageIndex)
                    e.Graphics.DrawString(imageListItem.Text, font, New SolidBrush(color), CSng((e.Bounds.Left + Me.imgs.ImageSize.Width)), CSng(e.Bounds.Top))
                Else
                    e.Graphics.DrawString(imageListItem.Text, font, New SolidBrush(color), CSng((e.Bounds.Left + Me.imgs.ImageSize.Width)), CSng(e.Bounds.Top))
                End If
            Else
                e.Graphics.DrawString(MyBase.Items(e.Index).ToString(), e.Font, New SolidBrush(e.ForeColor), CSng((e.Bounds.Left + Me.imgs.ImageSize.Width)), CSng(e.Bounds.Top))
            End If
        End If
        MyBase.OnDrawItem(e)
    End Sub

End Class

Public Class ImageListItem

    Private _forecolor As Color = Color.FromKnownColor(KnownColor.Transparent)

    Private _mark As Boolean

    Private _imageindex As Integer = -1

    Private _tag As Object

    Private _text As String

    Public Property ForeColor() As Color
        Get
            Return Me._forecolor
        End Get
        Set(value As Color)
            Me._forecolor = value
        End Set
    End Property

    Public Property ImageIndex() As Integer
        Get
            Return Me._imageindex
        End Get
        Set(value As Integer)
            Me._imageindex = value
        End Set
    End Property

    Public Property Mark() As Boolean
        Get
            Return Me._mark
        End Get
        Set(value As Boolean)
            Me._mark = value
        End Set
    End Property

    Public Property Tag() As Object
        Get
            Return Me._tag
        End Get
        Set(value As Object)
            Me._tag = value
        End Set
    End Property

    Public Property Text() As String
        Get
            Return Me._text
        End Get
        Set(value As String)
            Me._text = value
        End Set
    End Property

    Public Sub New()
    End Sub

    Public Sub New(Text As String)
        Me._text = Text
    End Sub

    Public Sub New(imageIndex As Integer)
        Me._imageindex = imageIndex
    End Sub

    Public Sub New(Text As String, ImageIndex As Integer)
        Me._text = Text
        Me._imageindex = ImageIndex
    End Sub

    Public Sub New(Text As String, ImageIndex As Integer, Tag As String)
        Me._text = Text
        Me._imageindex = ImageIndex
        Me._tag = Tag
    End Sub

    Public Sub New(Text As String, ImageIndex As Integer, Mark As Boolean)
        Me._text = Text
        Me._imageindex = ImageIndex
        Me._mark = Mark
    End Sub

    Public Sub New(Text As String, ImageIndex As Integer, Mark As Boolean, ForeColor As Color)
        Me._text = Text
        Me._imageindex = ImageIndex
        Me._mark = Mark
        Me._forecolor = ForeColor
    End Sub

    Public Sub New(Text As String, ImageIndex As Integer, Mark As Boolean, ForeColor As Color, Tag As Object)
        Me._text = Text
        Me._imageindex = ImageIndex
        Me._mark = Mark
        Me._forecolor = ForeColor
        Me._tag = Tag
    End Sub

    Public Overrides Function ToString() As String
        Return Me._text
    End Function

End Class



RE: سؤال في التري فيو وكيفية عرض أكثر من صورة في بيكتشر بوكس - رحوووم - 01-09-14

بارك الله فيك أخي Smile

جاري التجربة .. وبإذن الله برد في أقرب وقت ^_^


RE: سؤال في التري فيو وكيفية عرض أكثر من صورة في بيكتشر بوكس - رحوووم - 01-09-14

عدد صور الموظف غير محدد قد يزيد وينقص

يعني لكل إسم موظف مسجل في قاعدة البيانات مجلد خاص به يتم حفظ الصور فيه

يعني : أنا سويت قاعدة بيانات كالتالي :

id ---> ترقيم تلقائي
name ---> إسم الموظف
NmaeFilePic ---> إسم الملف إلي فيه صور الموظف

بحيث ... أحمد له مجلد إسمه أحمد يتم حفظ صوره فيه

وخالد له مجلد يتم حفظ صوره فيه

في البرنامج في التري فيو --- عندما أضغط على محمد مثلا ... تفتح نافذة جديدة فيها زر

عند الضغط على الزر تفتح نافذة أخرى يتم جلب صور أحمد من الملف

وهكذا لكل موظف
------------------------------------
فأفيدوني بارك الله فيكم .. هل يمكن عمل مثل هذا الشي ؟


RE: سؤال في التري فيو وكيفية عرض أكثر من صورة في بيكتشر بوكس - رحوووم - 01-09-14

السلام عليكم ورحمة الله وبركاااته


في قاعدة البيانات أنا كتبت جنب إسم الموظف .. إسم الملف إلي فيه صوره .. وأبغا لمن يتم الضغط على إسم الموظف .ز يتم إستدعاء جميع صوره من إسم الملف إلي في قاعدة االبيانات

الله يخليكم ... بإذن الله أول ما المشروع يكتمل ... راح أنسقه كامل وأرفعه على منتدانا الغالي ليستفيد الجميع منه

فساعدوني بارك الله فيكم

إلي حاب إني أقوله المشروع كامل عندي حساب في السكايب ---> skype201320141 هذا هو كامل

الأن هذا كود الفورم إلي راح تنعرض فيه صورة الموظف

Imports System.Data.OleDb

Imports System.Data
Imports System.Data.SqlClient



Public Class Home3

Dim q As String

Dim CN As New SqlConnection("Data Source=zeromoooney\sqlexpress;Initial Catalog=Employe;Integrated Security=True")


Private Sub Home3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
q = "Select ID, pic From main WHERE ([ID]=" & v & ") "


CN.Open()
Dim snds As New DataSet
Dim AccTableAdapter As New SqlDataAdapter(q, CN)
AccTableAdapter.Fill(snds, "main")

Dim app As New IO.FileInfo(Application.ExecutablePath)

Dim pat As String = app.DirectoryName & "\images\" & snds.Tables(0).Rows(0)("pic")
' MsgBox(pat)
If IO.File.Exists(pat) Then
Me.pb1.Image = Image.FromFile(pat)
Else
pb1.Image = Nothing
End If
End Sub

Dim v As String


WriteOnly Property setValue() As String
Set(ByVal value As String)


v = value


End Set
End Property

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Hide()
Home1.Show()


End Sub
End Class

وهذا ملف المشروع --------> http://www.gulfup.com/?i3HAdo


RE: سؤال في التري فيو وكيفية عرض أكثر من صورة في بيكتشر بوكس - رحوووم - 02-09-14

ساعدوني بارك الله فيكم Big Grin

بعد يوم علي تسليم الواجبExclamation


RE: سؤال في التري فيو وكيفية عرض أكثر من صورة في بيكتشر بوكس - رحوووم - 02-09-14

up up up


RE: سؤال في التري فيو وكيفية عرض أكثر من صورة في بيكتشر بوكس - رحوووم - 06-09-14

يا جماعة الخير بارك الله فيكم

ألا يوجد حل لسؤالي؟؟؟