Foros del Web » Programación para mayores de 30 ;) » .NET »

foreach a elementos de un MenuStrip

Estas en el tema de foreach a elementos de un MenuStrip en el foro de .NET en Foros del Web. Hola buenas tardes. Tratare de explicar mi problema para que me puedan ayudar, de ante mano gracias. Tengo un formulario en el cual tiene varios ...
  #1 (permalink)  
Antiguo 11/08/2011, 16:46
 
Fecha de Ingreso: julio-2009
Mensajes: 28
Antigüedad: 15 años, 4 meses
Puntos: 0
foreach a elementos de un MenuStrip

Hola buenas tardes.
Tratare de explicar mi problema para que me puedan ayudar,
de ante mano gracias.
Tengo un formulario en el cual tiene varios controles y entre ellos tien un MenuStrip, este MenuStrip tien ToolStripTextBox y ToolStripMenuItem, en detalle es que yo al cargar el formulario recorro los elementos del mismo. y cuando llego a un MenuStrip, llamo a una función para que recorra los controles que tiene ese MenuStrip. el problema es que si en los controles hay mas de uno o sea un (ToolStripTextBox y ToolStripMenuItem). se cuelga el programa. Quisiera que me ayuden como puedo preguntar que tipo de control es para asi hacerlo su respectivo foreach



------------------
public F_AdministraciondePermisos(Form f)
{
InitializeComponent();

//recibo los el formulario con sus controles
ShowControls(f.Controls);
// llamo a la función enviando los controles

}


private void ShowControls(Control.ControlCollection controlCollection)
{
foreach (Control c in controlCollection)
{
if (c.Controls.Count > 0)
{
ShowControls(c.Controls);
}
//aki pregunto si es MenuStrip
if (c is MenuStrip)
{
MenuStrip menuStrip = c as MenuStrip;
// y llamo a esta otra funcion para recorres los controles de este MenuStrip
ShowToolStipItems(menuStrip.Items);

}

if (c is Button || c is DataGridView)
{
FAP_LisControles.Items.Add(c.Name);

}
}
}









private void ShowToolStipItems(ToolStripItemCollection toolStripItems)

{


// mi problema esta aki “si ago priero esto choca con el otro lo ideal seria saber de k tipo es y asi hacerlo su for”
foreach (ToolStripTextBox mi in toolStripItems)
{
MessageBox.Show("x");
}

foreach (ToolStripMenuItem mi in toolStripItems)
{
oldMenuToolTips.Add(mi.Name, mi.ToolTipText);
mi.ToolTipText = mi.Name;

if (mi.DropDownItems.Count > 0)
{
ShowToolStipItems(mi.DropDownItems);
}

FAP_LisControles.Items.Add(mi.Name);
}
}
  #2 (permalink)  
Antiguo 14/08/2011, 08:27
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 22 años, 4 meses
Puntos: 15
Respuesta: foreach a elementos de un MenuStrip

Y si en vez de hacer esto así:
foreach (ToolStripTextBox mi in toolStripItems)

Lo haces generico así
foreach (object mi in toolStripItems)

y dentro del foreach pregunta if(mi is ToolStripTextBox).

Etiquetas: controls, foreach, menustrip
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:52.