Foros del Web » Programación para mayores de 30 ;) » .NET »

Como crear objetos por medio de Clases (Herencia)

Estas en el tema de Como crear objetos por medio de Clases (Herencia) en el foro de .NET en Foros del Web. Estoy creando un tablero de damas y lo he podido crear utilizando dos for anidados de 8*8 y con el siguiente codigo defino las propiedades ...
  #1 (permalink)  
Antiguo 19/03/2009, 22:28
 
Fecha de Ingreso: marzo-2009
Mensajes: 2
Antigüedad: 15 años, 1 mes
Puntos: 0
Exclamación Como crear objetos por medio de Clases (Herencia)

Estoy creando un tablero de damas
y lo he podido crear utilizando dos for anidados de 8*8 y
con el siguiente codigo defino las propiedades del cuadro

Código:
Dim Casilla As New PictureBox
        Me.Controls.Add(Casilla)
        Casilla.Size = New System.Drawing.Size(50, 50)
        Casilla.Location = New Point(posx, posy)
        Casilla.BackColor = Color.Black
        Casilla.Visible = True
Pero necesito utilizar cada casilla como objeto independiente para llamarlo despues
por lo que se me ocurrio crear toda la creacion ( color, tamaño, propiedades extras) en una clase aparte para luego solo mandar a llamar la creacion de 1 cuadro e irlo creando por medio de vectores un vector bidimensional.

Pero si meto todo el codigo de arriba en la otra clase .. donde
heredo las propiedades del PicturebOx con

INHERIT Picturebox

al llamar el Metodo.. me da error de

Object reference not set to an instance of an objec

Por lo cual se me ocurrio pedir ayuda ya que estoy fuera de ideas
Cualquier aporte sera de mucha ayuda.
  #2 (permalink)  
Antiguo 20/03/2009, 09:37
Avatar de totigo  
Fecha de Ingreso: marzo-2007
Ubicación: America
Mensajes: 103
Antigüedad: 17 años, 2 meses
Puntos: 3
De acuerdo Respuesta: Como crear objetos por medio de Clases (Herencia)

Hola!

debes crear una matriz de controles, esto a traves de la propiedad INDEX del control PictureBox


Coloca un control PictureBox en el formualario, a partir de este vamos a reproducir los demas

En la propiedad Nombre del PictureBox coloca:Picture1
En la propiedad Index del PictureBox coloca:0

Código vb:
Ver original
  1. Picture1(0).Top = 0
  2.        
  3. Load Picture1(1)
  4. Picture1(1).Top = 500
  5. Picture1(1).Visible = True
  6.  
  7. Load Picture1(2)
  8. Picture1(2).Top = 1000
  9. Picture1(2).Visible = True
  10.  
  11. Load Picture1(3)
  12. Picture1(3).Top = 1500
  13. Picture1(3).Visible = True
  14.  
  15. Load Picture1(4)
  16. Picture1(4).Top = 2000
  17. Picture1(4).Visible = True
  #3 (permalink)  
Antiguo 20/03/2009, 20:49
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Como crear objetos por medio de Clases (Herencia)

Hola, que yo sepa la propiedad INDEX de .NET no existe mas para crear matriz de controles , se debe hacer desde codigo...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #4 (permalink)  
Antiguo 21/03/2009, 19:03
 
Fecha de Ingreso: marzo-2009
Mensajes: 2
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Como crear objetos por medio de Clases (Herencia)

Muchas Gracias por Responder..
@totigo
Pues tu solucion no me ayudo mucho, pues no puedo utilizar nada en el formulario, es creado a base de codigo,


En fin solucione, creando una clase aparte (sin INHERIT), donde en una function doy las caracteristicas del cuadro, luego con dos FOR anidados "guardo" cada cajita, a medida que las iteraciones avanzan y termino añadiendo las cajitas con el COntrols.Add(nombre del vector)
*Se puede Cerrar el TEMA*
  #5 (permalink)  
Antiguo 23/03/2009, 12:15
Avatar de totigo  
Fecha de Ingreso: marzo-2007
Ubicación: America
Mensajes: 103
Antigüedad: 17 años, 2 meses
Puntos: 3
De acuerdo Respuesta: Como crear objetos por medio de Clases (Herencia)

Veo!, lo que sucede es que usted usa .NET, el ejemplo que le suministré y que funciona excelentemente es para visual basic 6.0 acorde a este Foro. En efecto asumí que era visual basic 6.0 pues aqui en este foro se comenta todo lo referente a Visual Basic, en su defecto 6.0, .NET está en otro Foro.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:33.