Constructor con base()

04/09/2007 - 14:16 por Frasko | Informe spam
Hola a todos, ojalá me podais ayudar porque estoy agobiado ya de no poder
encontrar la solución. Trabajo con Visual C# 2005 para empezar. Solo pongo el
código interesante, el resto lo omito para no cargar el post.

Tengo creado un UserControl en el que tengo este constructor:
public partial class ucEmpleados : UserControl
{
public ucEmpleados(iGestionEmpleados inter)
{
this.interfGestionEmpleados = inter;
InitializeComponent();
}
}

public interface iGestionEmpleados
{
void VolverAtras();
}

Hasta ahora todo bien. Luego tengo creada una "ApplicationWindows" donde
añado mi UserControl, creándose automáticamente el constructor:

public ucGestionEmpleados()
{
InitializeComponent();
}

La cuestión es que yo lo he modificado por:

public ucGestionEmpleados(iGestionEmpleados inter) : base(inter)
{
InitializeComponent();
}

También he modificado el designer del formulario principal por esto:

this.ucGestionEmpleados1 = new TPV.ucGestionEmpleados(this);

La cuestión es que todo funciona perfectamente, puedo llamar a mi metodo y
funciona bien, pero el formulario principal no muestra el modo diseño ya que
da dos errores:

- Type 'TPV.ucGestionEmpleados' does not have a constructor with parameters
of types Form.
- The variable 'ucGestionEmpleados1' is either undeclared or was never
assigned.

Se que es un poco follón ayudarme por aquí, pero agradecería cualquier ayuda
referente ya que estoy ya que me tiro de los pelos!!

Saludos a todos y mil gracias!
 

Leer las respuestas

#1 Juan Carlos Paramá
04/09/2007 - 14:31 | Informe spam
Hola,

Le estas pasando al constructor la instancia "this", que es un
formulario, y el constructor
de tu control aceptado objetos del tipo iGestionEmpleados no del tipo Form.
Si iGestionEmpleados
es una interfaz el formulario principal debería implementarla, si es una
clase vas a tener que hacer
algunos cambios en el diseño.

Saludos,

Juan Carlos Paramá


"Frasko" escribió en el mensaje de
noticias news:
Hola a todos, ojalá me podais ayudar porque estoy agobiado ya de no poder
encontrar la solución. Trabajo con Visual C# 2005 para empezar. Solo pongo
el
código interesante, el resto lo omito para no cargar el post.

Tengo creado un UserControl en el que tengo este constructor:
public partial class ucEmpleados : UserControl
{
public ucEmpleados(iGestionEmpleados inter)
{
this.interfGestionEmpleados = inter;
InitializeComponent();
}
}

public interface iGestionEmpleados
{
void VolverAtras();
}

Hasta ahora todo bien. Luego tengo creada una "ApplicationWindows" donde
añado mi UserControl, creándose automáticamente el constructor:

public ucGestionEmpleados()
{
InitializeComponent();
}

La cuestión es que yo lo he modificado por:

public ucGestionEmpleados(iGestionEmpleados inter) : base(inter)
{
InitializeComponent();
}

También he modificado el designer del formulario principal por esto:

this.ucGestionEmpleados1 = new TPV.ucGestionEmpleados(this);

La cuestión es que todo funciona perfectamente, puedo llamar a mi metodo y
funciona bien, pero el formulario principal no muestra el modo diseño ya
que
da dos errores:

- Type 'TPV.ucGestionEmpleados' does not have a constructor with
parameters
of types Form.
- The variable 'ucGestionEmpleados1' is either undeclared or was never
assigned.

Se que es un poco follón ayudarme por aquí, pero agradecería cualquier
ayuda
referente ya que estoy ya que me tiro de los pelos!!

Saludos a todos y mil gracias!

Preguntas similares