Referencia a campo del Formulario

18/01/2008 - 12:17 por Niurka | Informe spam
Hola, ojala me puedan ayudar con esto:


Clase de form con un campo TB

public class FormDatos : Form
{
public ToolStrip TB;
.
}

Luego luego en otra clase llamada TextBoxDatos.

public class TextBoxDatos : TextBox
{
private void ChequeaTB ()
{
}
}

Considerando que a un FormDatos yo le incluya una instancia de TextBoxDatos
pero durante el diseño del form, como hago para dentro del metodo ChequeaTB
tener acceso al campo TB del formulario?

Preguntas similare

Leer las respuestas

#6 Niurka
18/01/2008 - 13:58 | Informe spam
Sin embargo a no me parece un diseño genérico, más bien un diseño extraño
el que una caja de texto tenga que chequear otro control, y que además esa
caja de texto asuma que está en un formulario de tipo FormDatos.



En este caso siempre va a ser así. Dije generico pero dentro del contexto
de FormDatos. No es un textbox para usarse en cualquier parte.

Eso quiere decir que esa caja de texto nunca funcionará en otro formulario.



En otro tipo de formulario no.

Además la caja de texto asume que su padre directo es el formulario, eso
significa que no funcionará si está en un panel, o en otro control como un
tab control.




Ok eso si realmente no lo contemplé. Como podria resolverse en vez de usar
this.parent para obtener una referencia al Form?

No hay algo como "ThisForm" en C#?


Gracias por las observaciones.
Respuesta Responder a este mensaje
#7 Niurka
18/01/2008 - 14:05 | Informe spam
Probare este que vi en la ayuda:

This.FindForm()



"Niurka" escribió en el mensaje
news:
Sin embargo a no me parece un diseño genérico, más bien un diseño extraño
el que una caja de texto tenga que chequear otro control, y que además
esa caja de texto asuma que está en un formulario de tipo FormDatos.



En este caso siempre va a ser así. Dije generico pero dentro del contexto
de FormDatos. No es un textbox para usarse en cualquier parte.

Eso quiere decir que esa caja de texto nunca funcionará en otro
formulario.



En otro tipo de formulario no.

Además la caja de texto asume que su padre directo es el formulario, eso
significa que no funcionará si está en un panel, o en otro control como un
tab control.




Ok eso si realmente no lo contemplé. Como podria resolverse en vez de
usar this.parent para obtener una referencia al Form?

No hay algo como "ThisForm" en C#?


Gracias por las observaciones.




Respuesta Responder a este mensaje
#8 Alberto Poblacion
18/01/2008 - 15:12 | Informe spam
"Niurka" wrote in message
news:
Probare este que vi en la ayuda:

This.FindForm()



Si no te funciona, otro truco es este:

Control padre = this.Parent;
while (!(padre is Form)) padre = padre.Parent;
Respuesta Responder a este mensaje
#9 Niurka
19/01/2008 - 03:05 | Informe spam
Me ha funcionado de ambas formas. Parece que FindForm hace justamente ese
algoritmo que indicaste.

Gracias por la ayuda.


"Alberto Poblacion"
escribió en el mensaje news:
"Niurka" wrote in message
news:
Probare este que vi en la ayuda:

This.FindForm()



Si no te funciona, otro truco es este:

Control padre = this.Parent;
while (!(padre is Form)) padre = padre.Parent;

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida