رفتن به مطلب
  • 0

تعریف رویداد کلیک برای costum listview


amir mahdizadeh

سوال

سلام دوستان وقت بخیر

من یه لیست ویو با کتابخونه costumlist view درست کردم و به هر ایتمش یه چک باکس اضافه کردم حالا میخوام کاری کنم که

1- اگه هر کدوم از چک باکس ها تیک خورد بقیه تیک ها برداشته بشن(به عبارت دیگه فقط یک گزینه امکان تیک خوردن رو داشته باشه مثل رادیو باتن)

2- اگه روی هر کدوم از ایتم ها کلیک شد چک باکس همون ایتم تیک بخوره

 

پیشاپیش ممنون از کمک هاتون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

2 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام

 

 

 

1- اگه هر کدوم از چک باکس ها تیک خورد بقیه تیک ها برداشته بشن(به عبارت دیگه فقط یک گزینه امکان تیک خوردن رو داشته باشه مثل رادیو باتن)

ببینید اول باید موقع ایجاد پنل ها در کاستوم لیست ویو به چک باکس ها به هرکدومشون یک تگ بدید. که میتونید i رو بدید به تگ

CheckBox1.Tag=i

حالا یا i هست یا index...

یعنی باید چیزی باشه که با هرپنلی که اد میشه یک واحد بهش اضافه شه باشه.

مثلا پنل اول که اد میشه با تگ چک باکس اولین پنل باشه 0

تگ چک باکس دومین پنل باشه 1

و...

 

حالا ، چون کاستوم لیست ویو مثل اسکرول ویو نیست که بشه با GetAllVi.... همه ی ویو هاشو گرفت باید با حلقه یکی یکی هر پنل رو استخراج کنید و با یک حلقه ی دیگه بررسی کنید ببینید اصلا این چک باکس هست؟ و اگه بود تگ اش با تگ چک باکس فعلی که تیک خورده یکی نبود تیکشو ورداره... اینجوری چک هم برداشته میشه.

Sub CheckBox1_CheckedChange(Checked As Boolean)
	Dim ch As CheckBox=Sender
	
	ch.Checked=Checked
	For x=0 To CustomView1.GetSize-1
		For Each v As View In CustomView1.GetPanel(x).GetAllViewsRecursive
			If v Is CheckBox Then
				Dim check As CheckBox=v
			 	Dim int1 As Int=ch.Tag
				Dim int2 As Int=check.Tag
				If int1<>int2 Then
					check.Checked=False
				End If
			End If
		Next
	Next
	
End Sub

ضمنا ممکنه توی کاستوم لیست ویو شرط If v Is CheckBox Then کار نکنه ، پس دراین حالت باید تگ چک باکس هاتون رو یجوری بذارید که از تگ بفهمید آیا این چک باکس هست یانه.

کلا روال به همین صورته ، شاید بنظر پیچیده بیاد ولی آسونه و باید خودتون خلاقیت داشته باشید و اگه خطایی هم رخ داد برطرفش کنید تا به جواب نهایی برسید.

 

 

 

2- اگه روی هر کدوم از ایتم ها کلیک شد چک باکس همون ایتم تیک بخوره

باید از سندر استفاده کنید احتمالا و همون چک باکس رو تیک بزنید:

Sub CheckBox1_CheckedChange(Checked As Boolean)
	Dim ch As CheckBox=Sender
	
	ch.Checked=Checked
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

پژمان جان این قسمت اول کاملا درست  بود اما قسمت دوم رو نباید داخل رویداد itemclick costum listview بنویسم؟؟؟

این کارو کردم اما ارور داد بهم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...