Tengo un ContextMenuStrip llamado: DGVContextStrip
su muestra cuando el usuario hace clic en mi datagridview.
Que MenuStrip contiene un elemento llamado AddUpgradeTagToolStripMenuItem
que contiene subtemas(dropdownitems), estos elementos son los nombres con un número en su nombre.
por ejemplo: Add1ToolStripMenuItem
, Add2ToolStripMenuItem
, Add3ToolStripMenuItem
.... y así sucesivamente hasta que Add25ToolStripMenuItem
.
Cuando un usuario hace clic, en el Datagridview, quiero comprobar si una celda contiene el número "1", entonces si se hace Add1ToolStripItem.checked = true
Pensé que sería un bucle a través de los números del 1 al 25, y en cada bucle de comprobar si la celda contiene 1 y si es cierto, cambiar el valor activado el elemento de menú. algo así como...
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
pero esto no funciona, iv visto ejemplos en línea que utilizan el control.encontrar el método, pero no pude conseguir que funcione para mi uso. por ejemplo
Dim ControlName As String = "Add" & i & "ToolStripMenuItem"
CType(Me.Controls.Find(ControlName, True), ToolStripMenuItem).Checked = True
alguna idea de cómo puedo conseguir que esto funcione? Me doy cuenta de que podría haber utilizado 25 if then else, pero quería mantener el código mucho más limpio.