الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

معرفة ال Item المختار في ListView ، نجحت ولكن اريد الكود ب Select Case

مغلق
بدأه النبهاني في 7 يناير 2007 · 3 رد · 830 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كنت اقوم بدراسة وتجربة خصائص الاداة ListView ،

وآخر ما وصلت اليه هو استعمال نمط العرض Tile الذي يتوفر فقط في الإصدار 2005 وما فوق ( View=Tile ) ، وكنت اقوم بتجربة بسيطة وهي بمجرد قيام المستخدم بالنقر المزدوج على اي عنصر Item من الاداة يقوم البرنامج بإظهار رسالة معينة تختلف بإختلاف العنصر المختار من الأداة ! ( لا تضحكوا فهذه تجارب على الأداة اقوم بها حتى استكشف كامل الاداة واتعامل معها بسلاسة لاحقا )

نجحت بعد عناء لساعة كاملة وقمت بالبحث عن الخصائص المناسبة ،

المهم في الموضوع هذا هو الكود الذي وصلت الى كتابته في الأخير :

	Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick
		With ListView1
			If .Items("Word").Selected = True Then
				MsgBox("Run Your own copy of Microsoft Office Word 2003 ", MsgBoxStyle.Information)
			ElseIf .Items("Access").Selected = True Then
				MsgBox("Run Your own copy of Microsoft Office Acceess 2003", MsgBoxStyle.Information)
			ElseIf .Items("SQL Server").Selected = True Then
				MsgBox(" Run Your own copy of Microsoft SQL Server 2005", MsgBoxStyle.Information)
			ElseIf .Items("Setup").Selected = True Then
				MsgBox("Please Insert The Installation Disc !", MsgBoxStyle.Information)
			End If
		End With
	End Sub

طبعا شكل الكود في الاعلى قبيح ( على الأقل كما أعتبره أنا !! )

أريد تحويله الى صيغة Select Case ولكنني لم افلح حتى اللحظه !

حاولت وكانت هذه النتيجة :

			Select Case?????
				Case .Items("Word").Selected = True
					MsgBox("Run Your own copy of Microsoft Office Word 2003 ", MsgBoxStyle.Information)
				Case .Items("Access").Selected = True
					MsgBox("Run Your own copy of Microsoft Office Acceess 2003", MsgBoxStyle.Information)
				Case .Items("SQL Server")
					MsgBox(" Run Your own copy of Microsoft SQL Server 2005", MsgBoxStyle.Information)
				Case .Items("Setup")
					MsgBox("Please Insert The Installation Disc !", MsgBoxStyle.Information)
			End Select

ما يغيظني حتى اللحظة هو عدم تمكني من معرفة الخاصية المناسبة لوضعها في الاعلى بدل علامات الإستفهام !!

وشكرا لمن يقدم المساعدة :rolleyes:

#2

بحثت ووجدت الحل أخيرا !

هذا هو الكود النهائي بصيغة Select Case اخيرا :lol:

	Private Sub ListView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.Click
		If Me.ListView1.SelectedIndices.Count > 0 Then
			Dim selndex As Integer = Me.ListView1.SelectedIndices(0)
			If selndex > -1 Then
				With ListView1
					Select Case selndex
						Case 0
							MsgBox("Run Your own copy of Microsoft Office Word 2003 ", MsgBoxStyle.Information)
						Case 1
							MsgBox("Run Your own copy of Microsoft Office Acceess 2003", MsgBoxStyle.Information)
						Case 2
							MsgBox(" Run Your own copy of Microsoft SQL Server 2005", MsgBoxStyle.Information)
						Case 3
							MsgBox("Please Insert The Installation Disc !", MsgBoxStyle.Information)
					End Select
				End With
			End If
		End If

	End Sub

طبعا قمت بنقل الكود الى الحدث Click هذه المرة ، والنتيجة روعة !

ولكن بقى أمامي انني ارغب في استخدام الـ Key للعنصر بدلا من الـ Index الخاص به ،

سأحاول وأبحث واتمنى ان يسبقني أحد هذه المرة :blink:

#3

آخر الأخبار :lol:

تمكنت من معرفة العنصر المختار من خلال النص المعروض عليه هذه المرة وليس الـ key الخاص بعد :wacko:

هذا هو الكود :

	Private Sub ListView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.Click
		If ListView1.SelectedIndices.Count > 0 Then

			Dim x As String = ListView1.SelectedItems(0).Text
			If ListView1.SelectedIndices(0) > -1 Then
				With ListView1
					Select Case x
						Case "MS Word 2003"
							MsgBox("Run Your own copy of Microsoft Office Word 2003 ", MsgBoxStyle.Information)
						Case "MS Access 2003"
							MsgBox("Run Your own copy of Microsoft Office Acceess 2003", MsgBoxStyle.Information)
						Case "MS SQL Server"
							MsgBox(" Run Your own copy of Microsoft SQL Server 2005", MsgBoxStyle.Information)
						Case "Setup.exe"
							MsgBox("Please Insert The Installation Disc !", MsgBoxStyle.Information)
					End Select
				End With
			End If
		End If

	End Sub

ولا تزال المحاولات جارية لإستخدام الـ key :wacko:

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…