Mam menu kontekstowe pod nazwą: DGVContextStrip
jest on wyświetlany, gdy użytkownik kliknie prawym przyciskiem myszy na moim widoku danych.
Ten pasek menu zawiera element o nazwie AddUpgradeTagToolStripMenuItem
który zawiera poddziałania(rozwijane elementy), wszystkie te punkty mają nazwy z numerem w ich tytule.
np.: Add1ToolStripMenuItem
, Add2ToolStripMenuItem
, Add3ToolStripMenuItem
.... i tak dalej, aż Add25ToolStripMenuItem
.
Gdy użytkownik kliknie prawym przyciskiem myszy na widoku Datagrid, chcę sprawdzić, czy zawiera komórka liczba "1", a następnie, jeśli to rzeczywiście tak jest Add1ToolStripItem.checked = true
Postanowiłem, że będę grać numery od 1 do 25 i w każdym cyklu sprawdzić, czy zawiera komórka 1, a jeśli tak, zmień sprawdzona wartość pozycji menu. coś w rodzaju...
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
ale to nie działa, widziałem w Internecie przykłady, w których używany jest ten element zarządzania.znajdź metoda, ale nie byłem w stanie zmusić go do pracy dla mojego użytku. na przykład
Dim ControlName As String = "Add" & i & "ToolStripMenuItem"
CType(Me.Controls.Find(ControlName, True), ToolStripMenuItem).Checked = True
jakieś pomysły, jak mam sprawić to działać? Rozumiem, że mogłeś użyć 25 instrukcji if then else, ale tak jakby chciał, aby kod był o wiele schludniej.