obtener todos los botones en una forma que incluye los botones en el panel de la misma forma ..¿Cómo puedo obtener los controles de botón en el formulario de Windows - Panel
6
A
Respuesta
9
List<Control> list = new List<Control>();
GetAllControl(this, list);
foreach (Control control in list)
{
if (control.GetType() == typeof(Button))
{
//all btn
}
}
private void GetAllControl(Control c , List<Control> list)
{
foreach (Control control in c.Controls)
{
list.Add(control);
if (control.GetType() == typeof(Panel))
GetAllControl(control , list);
}
}
1
tratan este
foreach (var control in this.Controls)
{
if (control.GetType()== typeof(Button))
{
//do stuff with control in form
}
else if (control.GetType() == typeof(Panel))
{
var panel = control as Panel;
foreach (var pan in panel.Controls)
{
if (pan.GetType() == typeof(Button))
{
//do stuff with control in panel
}
}
}
}
+1
recursividad puede utilizar en caso de que el Panel contenga otro panel con un botón. –
+0
@Nakul: ahh usted está bien @hashi la respuesta está completamente bien. –
5
Esto es lo que he hecho, Escribí una función simple, cuando hago clic en un botón, selecciono solo el control del panel y lo paso a una función para seguir el ciclo a través del control en ese panel.
private void cmdfind_Click(object sender, EventArgs e)
{
try
{
foreach (Control control in this.Controls)
{
if (control.GetType() == typeof(Panel))
//AddToList((Panel)control); //this function pass the panel object so further processing can be done
}
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Cuestiones relacionadas
- 1. ¿Cómo puedo obtener todos los controles de un formulario que incluye controles en cualquier contenedor?
- 2. Cómo insertar los mejores controles acoplados debajo de los controles acoplados superiores previewsly en un panel
- 3. ¿Cómo elimino todos los controles en un panel o formulario a la VEZ? C#
- 4. Windows Forms: utilizando BackgroundImage ralentiza el dibujo de los controles del formulario
- 5. ¿Cómo alinear el botón en el panel de la pila en Windows Phone 7?
- 6. Cómo duplicar los controles .NET de buffer en un formulario?
- 7. ¿Cómo obtengo todos los controles de un formulario en Windows Forms?
- 8. ¿Encontrar todos los controles en un panel de ASP.NET?
- 9. ¿cómo puedo obtener el valor seleccionado del botón de opción?
- 10. cambiar el tamaño y ajustar los controles de formulario según el tamaño del formulario
- 11. Excel VBA: Obtención de los valores de controles de formulario
- 12. Cómo recorrer todos los controles en un formulario, incluidos los controles en un subformulario - Access 2007
- 13. Cambio automático de tamaño de los controles de Windows Forms
- 14. Alinear controles al centro de un formulario en el Diseñador de Windows Forms
- 15. Botón de formulario predeterminado en FireFox
- 16. Fundir un panel- Windows formas
- 17. cómo acceder a los controles que se encuentra en el panel en C#
- 18. ¿Cómo puedo obtener los botones de la barra de tareas para los formularios que no son el formulario principal?
- 19. Obtener la posición de los dedos en el panel táctil
- 20. ¿Cómo creo programáticamente un formulario de Windows?
- 21. ¿Puedo deshabilitar el botón 'cerrar' de un formulario usando C#?
- 22. Deshabilitar todos los controles de formulario en una página web
- 23. ¿Cómo puedo excluir que se envíen los valores del botón de opción del formulario HTML?
- 24. Parent un formulario para un panel
- 25. Botón X con círculo en los controles de iPhone
- 26. Cómo crear un panel transparente en C# .Net
- 27. Cómo cambiar automáticamente el tamaño de los controles de formulario con cambio en la resolución
- 28. Alineación de los controles en ambos lados izquierdo y derecho en un panel de pila en WPF
- 29. ¿Cómo puedo ocultar/deshabilitar el botón de pantalla completa en los controles de video HTML5 estándar del iPad?
- 30. Rollo de rueda del mouse en el panel con controles picturebox agregados dinámicamente
WPF, Windows Forms, ...? –
su pregunta no es lo suficientemente clara. – pRimE
Pregunta ......? – hcb