Cómo acceder desde form2 a una función de form1?

16/11/2005 - 13:10 por MM | Informe spam
Hola grupo:
Declaro una función en form1:
public void Funcion1( )
{
código
}
Intento llamar la función desde form2:
form2.Funcion1( )
No me la reconoce.
Tengo que tocar algo en using?
He probado a poner la denominación completa del form2, tampoco
La función está declarada como pública. Según los libros debe verse en todo
el namespace.
Gracias a todos

Preguntas similare

Leer las respuestas

#1 MM
16/11/2005 - 14:10 | Informe spam
Gracias Daniel, pero no es eso, ha sido un gazapo al escribir,
efectivamente puse form1.Function1( )
"Daniel R. Rossnagel" escribió:

form1.Funcion1()

"MM" escribió en el mensaje news:
> Hola grupo:
> Declaro una función en form1:
> public void Funcion1( )
> {
> código
> }
> Intento llamar la función desde form2:
> form2.Funcion1( )
> No me la reconoce.
> Tengo que tocar algo en using?
> He probado a poner la denominación completa del form2, tampoco
> La función está declarada como pública. Según los libros debe verse en todo
> el namespace.
> Gracias a todos
Respuesta Responder a este mensaje
#2 Benton
16/11/2005 - 15:06 | Informe spam
Declaro una función en form1:
public void Funcion1( )
{
código
}
Intento llamar la función desde form2:
form2.Funcion1( )
No me la reconoce.



¿Haz declarado en form2 un objeto del tipo form1? Funcion1() es un miembro
de las instancias de la clase (los objetos), no de la clase. Si quieres usar
específicamente el objeto form1 que abrió a form2, pásalo como referencia en
el contructor de form2.

Ahora bien, si quieres que Funcion1() sea miembro de la clase y lo puedas
usar sin necesidad de tener on objeto, decláralo como static.

Saludos,

-Benton
Respuesta Responder a este mensaje
#3 MM
18/11/2005 - 17:19 | Informe spam
Benton, perdona que te moleste estoy siguiendo te consejo y me queda algún
pequeño detalle:

public class Form2 : form

//1º PASO QUE ME DIJISTE. COMPILADOR OK.COPIADO DEL FORM1
private System.Windows.Forms.DataGrid dataGrid1;
private NombreEspacio.DataSet1 dataSet11;

//4º PASO. ME PIERDO UN POCO.
- Creo que en form1:
//ES AQUI DONDE ME DA ERROR, DEBERIA SER ...(DataSet1 dataSet11,DataGrid
dataGrid1??).AQUI EL COMPILADOR ME DA ERROR.

- Podrías por favor aclararme algo más este último paso. Muchas gracias por
tu atención. Benton, un saludo.
Form2 fm2 = newForm2(miDataSource, miDataGrid)
fm2.Show( );
//3º PASO. COMPILADOR OK.INICIALIZO COMPONENTE EN FORM2 (SUPONGO)
InitializeComponent();
inicializa?
this.dataSet11 =dataSet11;
this.dataGrid1 = dataGrid1;




//2º PASO. COMPILADOR OK.EN CONSTRUCTOR
// DE FORM2 REFERENCIO OBJETO DATASET Y DATAGRID DE FORM1
public Form2(DataSet1 dataSet11,DataGrid dataGrid1)
Respuesta Responder a este mensaje
#4 Andrés Cadavid Gómez
19/11/2005 - 03:44 | Informe spam
Creo que lo que necesitas es ejecutar una funcion en la instancia del
formulario1 si es asi yo lo que he hecho es:

Cuando llamo el formulario 2 desde el formulario 1, le paso sea por
propiedades, o por argumento de constructor del formulario 2, la instancia
del formulario 1.

De esta forma puedo realizar acciones sobre formulario 1 estando en
formulario 2, adicionalmente y creo que es casi obvio, debes tener publicas
las funciones que quieres usar en uno y otro formulario.


Espero que te haya quedado claro... sorry, no acostumbro pegar codigo
fuente.


"MM" escribió en el mensaje
news:

Gracias Daniel, pero no es eso, ha sido un gazapo al escribir,
efectivamente puse form1.Function1( )
"Daniel R. Rossnagel" escribió:

form1.Funcion1()

"MM" escribió en el mensaje
news:
> Hola grupo:
> Declaro una función en form1:
> public void Funcion1( )
> {
> código
> }
> Intento llamar la función desde form2:
> form2.Funcion1( )
> No me la reconoce.
> Tengo que tocar algo en using?
> He probado a poner la denominación completa del form2, tampoco
> La función está declarada como pública. Según los libros debe verse en
> todo
> el namespace.
> Gracias a todos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida