Am o ContextMenuStrip numit: DGVContextStrip
sale afișat atunci când utilizatorul dreptul de clicuri pe datagridview.
Care MenuStrip conține un element numit AddUpgradeTagToolStripMenuItem
care conține sub-elemente(dropdownitems), sub aceste produse sunt denumite cu un număr în numele lor.
de exemplu: Add1ToolStripMenuItem
, Add2ToolStripMenuItem
, Add3ToolStripMenuItem
.... și așa mai departe până Add25ToolStripMenuItem
.
Atunci când un utilizator click-uri dreapta, pe Datagridview, vreau pentru a verifica dacă o celulă conține numărul "1" apoi, dacă aceasta nu face Add1ToolStripItem.checked = true
M-am gândit că mi-ar bucla prin numerele de la 1 la 25, și în fiecare buclă a verifica dacă celula conține 1 și dacă este adevărat, schimba verificat valoare de element de meniu. ceva de genul...
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
dar acest lucru nu funcționează, a iv-a văzut exemple on-line care folosesc sistemul de control.găsi metoda dar nu am putut obține pentru a lucra pentru utilizarea mea. de exemplu
Dim ControlName As String = "Add" & i & "ToolStripMenuItem"
CType(Me.Controls.Find(ControlName, True), ToolStripMenuItem).Checked = True
orice idei cum am obține acest lucru? Îmi dau seama că mi-ar fi folosit 25 dacă atunci altceva declarații, dar am vrut să păstrați codul mult mai ordonat.