ما دوتا لیست ویو با نام های lvWallPapers و ListView_thumb داریم . و دو تا دکمه و یه openfiledialog با نام dialogWallPapers و یه imagelist با نام ImageList1 .حالا این کد ها رو در قسمت لود فرم قرار بدید :
کد:
Dim columnheader As ColumnHeader        dialogWallPapers.Filter = "Picture Files |*.bmp;*.jpg;*.gif;*.png;*.tif"        dialogWallPapers.Title = "اضافه کردن تصویر"Me.lvWallPapers.View = View.Details        Me.lvWallPapers.FullRowSelect = True        ' Create column headers for the data.        columnheader = New ColumnHeader        columnheader.Text = "کاغذ دیواری"        columnheader.Width = 150        Me.lvWallPapers.Columns.Add(columnheader)        columnheader = New ColumnHeader        columnheader.Text = "حالت قرارگیری"        columnheader.Width = 100        Me.lvWallPapers.Columns.Add(columnheader)        columnheader = New ColumnHeader        columnheader.Text = "مسیر"        columnheader.Width = 400        Me.lvWallPapers.Columns.Add(columnheader)        ' This last column is used to store the picture's wallpaper status.        columnheader = New ColumnHeader        columnheader.Text = ""        columnheader.Width = 0        Me.lvWallPapers.Columns.Add(columnheader)
کد دکمه ی اولی برای قرار گرفتن تعدادی آدرس عکس در lvWallPapers :
کد:
Dim lviewitem As ListViewItem        dialogWallPapers.FileName = Nothing        dialogWallPapers.ShowDialog()        Dim file As String        For Each file In dialogWallPapers.FileNames            If dialogWallPapers.FileName  Nothing Then                Dim fi As New FileInfo(file)                lviewitem = New ListViewItem(fi.Name)                lviewitem.SubItems.Add("Stretched")                lviewitem.SubItems.Add(file)                lviewitem.SubItems.Add("False")                Me.lvWallPapers.Items.Add(lviewitem)                fi = Nothing                SaveList()            End If        Next file
کد دکمه دوم برای ایجاد حالت thumb در ListView_thumb :
کد:
ListView_thumb.Items.Clear()            For i As Integer = 0 To lvWallPapers.Items.Count - 1                ListView_thumb.Items.Add(lvWallPapers.Items(i).Text)                ListView_thumb.Items(i).ImageIndex = i                ListView_thumb.Items(i).ToolTipText = lvWallPapers.Items(i).SubItems(2).Text                Try                    ImageList1.Images.Add(Image.FromFile(lvWallPapers.Items(i).SubItems(2).Text))                Catch                End Try                ListView_thumb.LargeImageList = ImageList1            Next
با این کد میشه تصاویر درون لیت ویو اولی رو به صورت Thumb در لیست ویو دومی دید . روش خوبی ولی به شرطی که تعداد آیتم ها در لیست ویو اول کم باشه و اگه تعداد آیتم ها زیاد باشه باید خیلی صبر کرد . من میخوام وقتی روی دکمه ی دومی کلیک میکنم (دکمه ای که حالت thumb رو درست میکنه ) یه پنجره کوچیک باز بشه و توش یه پروگرس بار باشه که نشون بده چقدر دیگه مونده تا حالت thumb و لود عکس ها طول می کشه و یه دکمه که اگه حوصلمون سر رفت بطونیم عملیات رو Cancle کنیم و دیگه نمونیم . ممنون میشم اگه کمکم کنید .البته من این طور که فهمیدم میشه از Threadها استفاده کرد . اگه درست فهمیده باشم . اگه نه که خوب یه روش بهتر بگید .یه سوال دیگه هم دارم اونم اینه که نمیشه فاصله بین آیتم های ListView_thumb رو کم کرد تا در یه سطر تعداد بیشتری عکس دیده بشه ؟و اگه خاصیت checkbox لیست ویویی رو که عکس ها رو نشون میده رو برابر True قرار بدیم کنار هر عکس یه چک باکس قرار میگیره . چه جوری میشه کاری کرد که وقتی رو دکمه کلیک می کنیم اون خونه هایی که چک باکسشون تیک خورده حذف بشن . هم آیتم های لیست باکس اول و هم دوم . سوال دوم : ما 9 تا تکست باکس روی فرم داریم . و من میخوام وقتی عددی رو توی هر کدوم از تکست باکس ها درج می کنیم بتونیم چک کنیم که آیا این عدد در تکست باکس های دیگه هست یا نه . اگه بود رنگ اون دوتا یا اون تکست باکس هایی که عدد یکسان دارند قرمز بشه و در غیر این صورت رنگشون سفید .