problemas con clases, objetos, creacion dinamica

21/09/2007 - 10:46 por Aitziber | Informe spam
Hola

estoy haciendo una clase, en la que en realidad tengo un boton. Y ese boton
le doy las utilidades que a mi me interesan.

En la principal tengo un formulario, que lo iré creando dinamicamente segun
mis necesidades.

La cosa es que declaro un objeto del tipo de la clase que he creado, pero no
me aparace. Y no se lo que hago mal.

Preguntas similare

Leer las respuestas

#6 Juan Diego Bueno
25/09/2007 - 13:24 | Informe spam
Hola Aitziber:

Primeramente, te recomiendo que consultes cualquier manual de C# donde se
trate la programación orientada a objetos, ya que lo que planteas es muy
básico, y te vendría bien leer sobre ello antes de meterte a saco con ello.

Por ejemplo:En www.josanguapo.com tienes un manual del lenguaje C# gratuito
y muy sencillo.

Para definir una propiedad en esa clase, tienes dos opciones:

1. Crear lo que sería una variable miembro pública:

public class miclase
{
public byte mivariable;
...
}

2. Crea una variable miembro privada, encapsulada dentro de la misma clase y
a la que puedas acceder mediante una propiedad:

private byte mivariable;

public byte mipropiedad
{
// Esto sirve para devolver el valor de la variable miembro
get
{
return mivariable;
}
// Esto para asignarlo
set
{
mivariable=value;
}
}

Saludos


"Aitziber" escribió en el mensaje
news:e423$01$
Mostrar la cita
#7 Aitziber
25/09/2007 - 15:41 | Informe spam
Ya se que soy novata. Pero lo he hecho de la primera forma que tu describes
pero luego, al intentar alceder a esa propiedad desde el principal como lo
hago?
No se si sería así:

miclase prueba=new miclase();
prueba.mivariable=0x00;



"Juan Diego Bueno" escribió en el mensaje
news:
Mostrar la cita
#8 Juan Diego Bueno
25/09/2007 - 16:09 | Informe spam
Sí, así debería funcionar, cual es el problema?
¿desde donde estás intentando cambiar la propiedad, desde un form?

"Aitziber" escribió en el mensaje
news:uLyJwl3$
Mostrar la cita
#9 Aitziber
25/09/2007 - 16:17 | Informe spam
Si, desde un form que es la principal.
Mira te lo enseño:

Esta es la clase:
using System;

using System.Collections.Generic;

using System.Text;

namespace Panel_de_Mandos

{

public class Label_Estatico:System.Windows.Forms.Label

{

byte region;

byte NOj;

//byte[] colores = new byte[18];

public Label_Estatico(byte reg,byte obj)

{

region = reg;

NOj = obj;

}

}

}

Y este es el principal:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO;

using System.Reflection;

using System.IO.Ports;

namespace Panel_de_Mandos

{

public partial class Principal : Form

{

public void Recibido(object s, EventArgs e)

{

Label_Estatico lab_est = new Label_Estatico(0x00,0x01);

this.Controls.Add(lab_est);

lab_est.region

}

}

"Juan Diego Bueno" escribió en el mensaje
news:
Mostrar la cita
#10 Juan Diego Bueno
25/09/2007 - 17:02 | Informe spam
Hola Aitziber:

Lógico que no te funcione, es que no has leído lo que yo te puse. Para
acceder a label_estatico.region, o la defines como public byte region en la
clase, o la defines como private y la muestras como propiedad.

Lo que te decía, mejor léete la parte de POO de un manual, porque son cosas
demasiado básicas del lenguaje y antes de meterte a usarlas, deberías tener
claros esos conceptos. Lo que planteas es iniciación al uso de clases y lo
verás en los primeros apartados de los manuales, que no te eche para atrás
pensar que vas a tener que leer miles de páginas para entenderlo.

Saludos


"Aitziber" escribió en el mensaje
news:%23gA8K63$
Mostrar la cita
Ads by Google
Search Busqueda sugerida