He probado así:
If Me.FindControl("Checkbox1") IsNot Nothing Then
'FindControl' is not a member of 'WindowsApplication19.Form1'
Y así:
If Me.Panel1.Contains("Checkbox1") = False Then
Value of type 'String' cannot be converted to 'System.Windows.Forms.Control'.
EDITO: Es un winform
¿Soluciones porfavor?
¿No miraste mucho mi code anterior no? Ahí tenías una pista :silbar:
Te lo dejo en C#
foreach (Control c in panel1.Controls)
{
}
También puedes utilizar find sobre la lista de controles, o bien directamente acceder por el nombre o índice.
Saludos
gracias novlucker
uf, pero ahora como hago para saber si el control existe o no?
For Each c As Control In Panel1.Controls
If c = Nothing Then MessageBox.Show("nada")
Next
tambien he probado con c.Name, pero al no haber ningún control... no muestra NADA.
EDITO: Creo que he expuesto mal mi duda, lo que necesito saber es si existe un control de tipo "checkbox" en el form, no buscarlo.
Edito 2: ya no importa, lo he hecho de forma "sucia" xD:
Dim num = 0
For Each c As CheckBox In Panel1.Controls
num = +1
Next
If num = 0 Then ' no existe
Gracias!
Creo que no estas entendiendo, si iteras sobre los controles con un for each, entonces siempre va a retornar algo
Prueba con un find :P
Saludos
Hola.
Puedes utilizar lo que indicabas:
If Me.Panel1.Contains("Checkbox1") = False Then
Pero sin poner el control entre comillas.
Saludos.
PADRE.Controls.Find("Ejemplo", True)
Devuelve un Array de Controls en el PADRE, que coincidieron con "Ejemplo".
Ya Novlucker había dado el nombre de la función ;).
Cita de: Keyen Night en 21 Noviembre 2012, 14:46 PM
PADRE.Controls.Find("Ejemplo", True)
Devuelve un Array de Controls en el PADRE, que coincidieron con "Ejemplo".
Gracias.