24-08-13, 12:22 PM
nin9e كتب :طيب انا اسف بس ممكن مثال علي المشروع. وكان في طلب اخر ممكن combobox يكون فيه مثلا (Vistas-XP- 7) يعني لو اخترت VISTAS يجبلي صور VISTAS في ال Group box. و انا اسف تعبتك معايا و مشكوررررررررررررررررررر... D:
المشكلة اني قاعد اكتب في موضوع للآخ المبدع 3booody وهذا مسبب لي حرج كون اصل هذا الموضوع خاص به
لكن فرصة لنه يقيمني مثل أخي المبدع الشاكي لله
لعمل مثال حسب طلبك بطريقة combobox
1: أدرج الأداة ComboBox واكتب داخل خاصية Items الكلمات التي تريدها مثل زي ما ذكرت (Vistas-XP- 7)
2: ادرج الأداة GroupBox وخلي نص الخاصية Text فاضي
3: ادرج الأداة FlowLayoutPanel واسحبها إلى داخل الآداة GroupBox واجعل الخاصية Dock تكون Fill والخاصية AutoScroll تكون True
4: ضع هذا الكود
كود :
Public Class Form1
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
FlowLayoutPanel1.Controls.Clear()
GroupBox1.Text = ""
Dim folderPath As String = ""
Select Case ComboBox1.Text
Case "Vista"
' غيير المسار المكتوب حسب مكان المجلد المحدد لهذا الاختيار
folderPath = "C:\Users\Public\Pictures\Sample Pictures"
Case "XP"
' غيير المسار المكتوب حسب مكان المجلد المحدد لهذا الاختيار
folderPath = " "
Case "7"
' غيير المسار المكتوب حسب مكان المجلد المحدد لهذا الاختيار
folderPath = "C:\Users\Public\Pictures\Sample Pictures"
End Select
If IO.Directory.Exists(folderPath) Then
' jpg
For Each fi As IO.FileInfo In New IO.DirectoryInfo(folderPath).GetFiles("*.jpg")
AddCheckBoxImage(FlowLayoutPanel1, fi.FullName)
Next
' png
For Each fi As IO.FileInfo In New IO.DirectoryInfo(folderPath).GetFiles("*.png")
AddCheckBoxImage(FlowLayoutPanel1, fi.FullName)
Next
GroupBox1.Text = ComboBox1.Text
End If
End Sub
Dim CheckBoxImages As New List(Of CheckBox)
Private Sub AddCheckBoxImage(ByVal parent As Object, ByVal filename As String)
CheckBoxImages.Add(New CheckBox)
Dim mCheckBox As CheckBox = CheckBoxImages(CheckBoxImages.Count - 1)
mCheckBox.Text = ""
mCheckBox.AutoSize = False
mCheckBox.Size = New Size(120, 80)
mCheckBox.BackColor = Color.White
mCheckBox.BackgroundImageLayout = ImageLayout.Stretch
mCheckBox.CheckAlign = ContentAlignment.TopLeft
mCheckBox.BackgroundImage = Image.FromFile(filename)
mCheckBox.Parent = parent
End Sub
End Classقائمة CheckBox سوف تكون في المصفوفة CheckBoxImages
يعني تقدر تعرف عدد الصور من CheckBoxImages.Count
وتقدر تعرف هل الصورة تم تحديدها من CheckBoxImages(6).Checked
هذه النتيجة
