ฉันมี ContextMenuStrip เรียก: DGVContextStrip
มันจะถูกแสดงตอนที่ผู้ใช้ถูกต้อลิบของฉัน datagridview.
นั่น MenuStrip มีการเรียกรายการ AddUpgradeTagToolStripMenuItem
ซึ่งบรรจุรายการย่อย(dropdownitems)พวกนี้รายการย่อยทุกคนที่ชื่อกับเบอร์โทรศัพท์ในพวกเขาชื่ออะไร
eg: Add1ToolStripMenuItem
, Add2ToolStripMenuItem
, Add3ToolStripMenuItem
.... และบนกระทั่ง Add25ToolStripMenuItem
.
เมื่อผู้ใช้งานตรงเลยนะ,ที่ Datagridview ฉันอยากจะตรวจสอบว่ามีห้องขับรรจุข้อ"1"แล้วถ้ามันทำให้ Add1ToolStripItem.checked = true
ฉันคิดว่าฉันจะเล่นตัวเลข 1 ต้อง 25 และในแต่ละเรื่องตรวจสอบว่าที่จะบรรจุ 1 และถ้าเรื่องจริงเปลี่ยนเช็คค่าของรายการเมนู. บางอย่างเหมือนกับ...
For i = 1 to 25
If DataGridView1.SelectedRows(0).Cells("Text_Field").Value.ToString.Contains(i) then
CType("Add" & i & "ToolStripMenuItem", ToolStripMenuItem).Checked = True
Next
แต่นี่มันไม่ทำงานให้ iv เห็นตัวอย่างออนไลน์ที่ใช้ควบคุมไม่ได้หาวิธีการแต่ฉันไม่สามารถทำให้มันทำงานสำหรับประโยชน์หรอก ตัวอย่างเช่น
Dim ControlName As String = "Add" & i & "ToolStripMenuItem"
CType(Me.Controls.Find(ControlName, True), ToolStripMenuItem).Checked = True
มีความคิดฉันเอานี่ไปทำงาน? ผมตระหนักถึงผมอาจจะใช้ 25 ถ้างั้นก็อีกสอบปากคำแต่ฉันอยากจะเก็บรหัสเท่า neater.