У меня есть контекстное меню под названием: DGVContextStrip
он отображается, когда пользователь щелкает правой кнопкой мыши на моем представлении данных.
Эта строка меню содержит элемент под названием AddUpgradeTagToolStripMenuItem
который содержит подпункты(раскрывающиеся элементы), все эти подпункты имеют имена с номером в их названии.
напр.: Add1ToolStripMenuItem
, Add2ToolStripMenuItem
, Add3ToolStripMenuItem
.... и так далее, пока Add25ToolStripMenuItem
.
Когда пользователь щелкает правой кнопкой мыши на представлении Datagrid, я хочу проверить, содержит ли ячейка число "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
но это не работает, я видел в Интернете примеры, в которых используется этот элемент управления.найдите метод, но я не смог заставить его работать для моего использования. например
Dim ControlName As String = "Add" & i & "ToolStripMenuItem"
CType(Me.Controls.Find(ControlName, True), ToolStripMenuItem).Checked = True
есть идеи, как мне заставить это работать? Я понимаю, что мог бы использовать 25 операторов if then else, но я вроде как хотел, чтобы код был намного аккуратнее.