Autor Tema: vb.Net personalizar Control Personalizado XD  (Leído 32617 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: vb.Net personalizar Control Personalizado XD
« Respuesta #45 : septiembre 22, 2008, 06:07:16 pm »
es una funcionabilidad nueva para mi control....

te explico la lógica completa....

por ahí te envié un mp...

vuelvo y repito.... imaginate un frm como el siguiente...



a mis controles CajaTexto, les ingresarán valores de dos tablas diferentes.. una tabla padre y una tabla hijo [hablando de la relacion de la base de datos]... imaginate las tablas comunes "GruposUsuarios" y "Usuarios" en la CajaTexto1, ingresarán el código de Grupo de la tabla GruposUsuario y en la CajaTexto2 ingresarán el Codigo de Usuario de la tabla Usuarios

...
....

que significa.... que la CajaTexto2 dependerá de la información que se ingrese en la CajaTexto1... es decir... que si yo pongo el grupo de usuarios Administradores en la CajaTexto1, solamente puedo poner en la CajaTexto2 los usuarios que estén en el grupo de usuarios de Administradores


que quiero lograr....


en tiempo de Diseño.... en tiempo de Diseño.... En Tiempo De Diseño.....
ponerle a la propiedad CajaPadre en mi control CajaTexto2 el control CajaTexto1.... pero esa propiedad debe listar únicamente mis controles del tipo CajaTexto que estén en mi formulario.... que para este caso sólo son 2


No estoy buscando el código para validar los datos.... NO!
estoy buscando como lograr hacer una "propiedad en mis controles" que me muestre los controles de mi formulario como un arrayList y que pueda manejar ese control a mi discresión....
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re: vb.Net personalizar Control Personalizado XD
« Respuesta #46 : septiembre 23, 2008, 09:06:06 am »
Bueno hoy si entendi perfectamente lo que necesitabas hacer y despues de leer un monton (porque m parecio interesante) y buscar encontre 2 formas pero ninguna de las 2 esta completa te las explicare a continuacion:

Primera Forma:
Yo pense q estaba un poco facil, entonces lo q c m ocurrio fue crear una propiedad de la siguiente manera:
Código: [Seleccionar]
Property CajaParent() As ArrayList
        Get
            Return BuscarControl
        End Get
        Set(ByVal value As ArrayList)

        End Set
    End Property

Entonces de esta manera va a cargar el Object Collection Editor, que es el editor de columnas o el tipido editor de agregar y eliminar y establecer el orden, te lo carga y todo los controles pero a mi no m gusto xq como q queda abierta la posibilidad de agregar y quitar y hasta cambiar el orden en tu Array.

Siempre q vs enlaces una coleccion como una propiedad te va a cargar el Object Collection Editor, entonces esta no funcionaba mucho x eso.
Nota. No se realmente si habra forma de modificar o no eso q no se pueda agregar ni eliminar elementos de la coleccion eso ya no intente porque m puse a pensar en otra manera.


Segunda Forma:
Vaia despues de eso, m puse a pensar q la forma era utilizar atributos, yo m acordaba q antes (no m acuerdo en q programa  :phew:) habia creado una clase, habia establecido atributos y hacia algo distinto, no era igual pero si parecido.

Entonces despues de buscar y de buscar encontre que tenemos q utilizar el atributo TypeConverter, bueno este en si es una clase la cual se encarga de convertir tipos a otros tipos y de esa manera de viceversa.

Entonces justo en la MSDN aparece un ejemplo de lo q necesitas y te coloco como queda:

MSDN explica que hay q crear una clase aparte y heredar la clase StringConverter y sustituir 4 metodos:

Código: [Seleccionar]
Imports System.ComponentModel

Public Class ListaItem
    Inherits TypeConverter

#Region "Metodos remplazados de la clase base"
    Public Overloads Overrides Function GetStandardValuesSupported(ByVal context As System.ComponentModel.ITypeDescriptorContext) As Boolean
        Return True
    End Function

    Public Overloads Overrides Function GetStandardValues(ByVal context As System.ComponentModel.ITypeDescriptorContext) As System.ComponentModel.TypeConverter.StandardValuesCollection
        ' Pasa o dimensiona los valores internos de la clase
        Dim svc As New StandardValuesCollection(values)

        Return svc
    End Function

    Public Overloads Overrides Function CanConvertFrom(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal sourceType As System.Type) As Boolean
        If sourceType Is GetType(String) Then
            Return True
        Else
            Return MyBase.CanConvertFrom(context, sourceType)
        End If
    End Function

    Public Overloads Overrides Function ConvertFrom(ByVal context As System.ComponentModel.ITypeDescriptorContext, ByVal culture As System.Globalization.CultureInfo, ByVal value As Object) As Object
        If value.GetType() Is GetType(String) Then
            Dim strTmp As String = value.ToString
            ' Verificamos si el valor ya esta ingresado en la lista de valores
            If Not values.Contains(strTmp) Then
                ' Si no se encuentra en la lista lo agregamos
                values.Add(strTmp)
                values.Sort()
            End If
            ' Returns the integer value to assign to the property.
            Return strTmp
        Else
            Return MyBase.ConvertFrom(context, culture, value)
        End If
    End Function 'ConvertFrom

#End Region

    Private values As ArrayList

    Public Sub New()
        ' Initializes the standard values list with defaults.
        values = New ArrayList(New String {"1", "2", "3", "4", "5"})
    End Sub 'New

En conclusion lo q hace la clase es que cuando llamemos al atributo TypeConverter en nuestra propiedad, va a convertir la coleccion a valores estandares o en este caso String, y como es una coleccion la va a cargar en si como si fuera combobox.

Despues en la clase de tu control tendriamos q escribir la propiedad de la siguiente manera:

Código: [Seleccionar]
<TypeConverter(GetType(ListaItem))> _
        Public Property TestInt() As String
        Get
            Return Me.strc
        End Get
        Set(ByVal Value As String)
            If Value.GetType() Is GetType(String) Then
                Me.strc = Value
            End If
        End Set
    End Property
    Private strc As String

Entonces nosotros ibamos a guardar el valor String, de alli para pasarlo tenemos q llamar al metodo de obtener la coleccion de la clase q creamos y nos va a retornar el valor real.

Esta manera seria la mas facil y mas util porque estamos capturando el String y de alli lo convertimos al tipo de datos q hayamos guardado en el arraylist y sin problemas!


Ahora viene el problema:
La segunda forma es exactamente lo q necesitas pero x estar en una clase y mas independiente de nuestro control, no hay forma de pasarle la coleccion de controles del Parent, es alli el problema xq no funciona.

Empeze a inventar y todo, intentandole pasar por el constructor pero da problemas xq al aplicar el atributo TypeConverter no permite pasar algun parametro, porque realmente al aplicar el atributo no se esta instanciando.

Por tanto, no e encontrado una forma de pasarle los controles a la clase y de esa manera q a partir de alli se cree el arraylist.

Te lo dejo el codigo de esa manera por si encontras una forma de pasarle la coleccion de controles a la clase y asi generar la propiedad. Pero realemente invente de todo y no pude nunk pasarlo.

O bueno, despues ahora en la mañana m puse a pensar y creo q llegue a la conclusion de q no c puede hacer de esa manera q una propiedad en tiempo diseño, cargue controles de esa manera como si fuera un ComboBox!.

A veces una comparativa sencilla es ver si hay algun control de VS q implemente eso, o fijarse q maneras utilizaron ellos para realizar algo similar! Y yo q sepa creo q ningun control de VS implementa eso.

Y si t acordas las propiedades AcceptButton y CancelButton, son del Formulario, osea el control q contiene a estos por tanto x eso creo q lo logran listar. En cambio nosotros estamos intentado acceder al padre no a los hijos de un control.


Mi Solucion:
Yo lo q haria seria mejor hacer una propiedad String, y q alli el programador escriba el nombre del control al cual desea la conexion, y ya alli con el nombre en el control creo q ya podes hacer las validaciones.

No es la mejor solucion, pero solucion sencilla y como solo el nombre del control necesitas entonces siento yo q seria la mejor! Al igual podes validar la propiedad q solo aceptes nombres de controles existentes!

Espero q t sirva o si encontrar alguna forma de pasarle la coleccion a la segunda forma que te puse m avisas!!  :thumbsup:  :big_boss:


Aqui te dejo el link de la MSDN donde explica como crear una lista para una propiedad en tiempo diseño: http://msdn.microsoft.com/es-es/library/ayybcxe5(VS.80).aspx

PD:
Mi segunda solucion quisas seria implementar una Interfaz como hacen con el AcceptButton, pero todavia no se muy bien como se haria, entonces en eso estoy pensando! Te comento si encuentro algo!
« Última Modificación: septiembre 23, 2008, 09:12:32 am por Juancho »
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: vb.Net personalizar Control Personalizado XD
« Respuesta #47 : septiembre 23, 2008, 09:24:05 am »
mil gracias  Juancho.....

k+


me parece mucho las soluciones que das....
mi primera alternativa era crear una propiedad del tipo string tal como lo planteas vos.... pero me dí cuenta que me estaba quedando corto... busque en internet información y encontre tu segunda solución "Interfaces" pero no le haye como putas implementarlo.... por eso vine y cree este post....

y cuando tu me dijiste desde la primera vez como lo hacen los botones Acept y Cancel de un frm... me supuse que esa sería la respuesta correcta....

pero igual, sigo sin poderlo implementar...

voy a tratar lo que sugeris y hay te aviso....


nuevamente..... mil gracias :thumbsup:
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re: vb.Net personalizar Control Personalizado XD
« Respuesta #48 : septiembre 23, 2008, 10:30:26 am »
Bueno te publico la solucion como te comente:

La solucion era cabal utilizando una interfaz como en PD anterior. Las interefaz realmente es solo para forma como el cascaron de los metodos y propiedades q queremos implemnetar en nuestras clases como por ejemplo siempre queremos q lleven alguna propiedades y todo entonces es alli donde utilizamos las propiedades. Creo q eso es el encapsulamiento de VS!

Bueno hablando de la solucion, es como los Formulario q las propiedades de AcceptButton y CancelButton son propiedades de tipo Interfaz y eso se puede ver en la ayuda MSDN ellos le ponen as IButtonControl que fue la interfaz q anteriormente te mencion q implementaban.

Bueno entonces de esa manera era solucion para tu problema por tanto tenemos que definir una interfaz, (NOTA: Solo cree los procedimientos basicos para que vieras el funcionamiento)

Entonces mi interfaz me quedo de la siguiente manera:
Código: [Seleccionar]
Public Interface ILista
    ReadOnly Property NameCaja() As String
    Function ControlParent() As CajaTXT
End Interface

Unicamente cree la propiedad NameCaja que va a ser la q m va a servir para saber el nombre del control cuando implemente mi interfaz
Y la funcion ControlParent que me va a retorna el objeto o la clase en si de mi control que este enlazado a este, sino esta enlazado con ningun control retornanra una excepcion NullReference

Bueno una vez tenga la interfaz ya echa, en mi control personalizado la tengo que implementar y mi control m queda de la siguiente manera:

Código: [Seleccionar]
Imports System.Windows.Forms
Imports System.ComponentModel


Public Class CajaTXT
    Inherits TextBox
    Implements ILista

    Private IFL As ILista = Nothing
    Property li() As ILista
        Get
            Return IFL
        End Get
        Set(ByVal value As ILista)
            If value IsNot Nothing Then
                IFL = value
            End If
        End Set
    End Property

#Region "Propiedades y Metodos implementados por la Interfaz"
    <Browsable(False)> _
    Friend ReadOnly Property NameCaja() As String Implements ILista.NameCaja
        Get
            Return Me.Name
        End Get
    End Property

    ''' <summary>
    ''' Funcion que retornaria el control enlazado o el control padre
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Friend Function ControlParent() As CajaTXT Implements ILista.ControlParent
        Return Me
    End Function
#End Region

#Region "Propiedades de Nuestro Control"
    <Browsable(False)> _
    Public ReadOnly Property NameCajaParent() As String
        Get
            Return IFL.NameCaja
        End Get
    End Property

    Public Function GetParent() As CajaTXT
        If IFL IsNot Nothing Then
            Return IFL.ControlParent
        Else
            Throw New NullReferenceException("No existe ningun objeto enlazado a este control")
        End If
    End Function
#End Region
   
End Class

Separe las propiedades y metodos implementados por mi interfaz y las propiedades de mi control por regiones para que se entienda mejor.

A la hora de implementar una interfaz, tenemos q generar el codigo para la interfaz, porque en la interefaz solo definimos las propiedades y metodos pero hasta q uno la implementa define el codigo.

Si te fijas en NameCaja, retorno el nombre de la clase q este instanciada en ese momento, si yo cree en mi formulario un contorl llamado "Caja1", entonces alli voy a retornar el nombre "Caja1"
Y la segunda CajaParent voy a retonar en si la clase, osea mi control por eso le pongo Me

Despues e publicado la propiedad li que es dond se va a enlazar los controles:

Código: [Seleccionar]
    Private IFL As ILista = Nothing
    Property li() As ILista
        Get
            Return IFL
        End Get
        Set(ByVal value As ILista)
            If value IsNot Nothing Then
                IFL = value
            End If
        End Set
    End Property

entonces lo q voy a estar manejando son interfaces, y unicamente voy a poder utilizar los procedimientos q alla implementado en mi interfaz, es por eso q definimos NameCaja que nos serviria para saber el nombre de la caja enlaza y CajaParent para regresar el control completo!

BUeno de alli creo q se explica el solo y por ultimo vemos la implementacion en nuestro formulario. Si yo quisiera saber (cuando mi formulario se esta ejecutando) el nombre de la caja que esta enlazada a mi control lo haria de la siguiente manera:

Código: [Seleccionar]
CajaTXT1.NameCajaParent
Aqui regreso el nombre de la caja enlazada a este, si no hay ninguna regreso nothing

Y si quisiera controlar o cmabiar las propiedades del control enlazado tendria q hacer lo siguiente:
Código: [Seleccionar]
Dim cajapadre As CajaTexto.CajaTXT = CajaTXT1.GetParent
Y despues manipular cajapadre para los cambios q uno le quisiera hacer!

Por cierto en las propiedades de mi control cree 2 que son las que regresan el nombre de la NameCajaParent y la q vistes GetParent para q regrese el padre no la clase en la q se esta trabajando!

Esas creo q no necesitan mayor explicacion, creo q se explican por si sola!

Bueno eso creo q era lo q querias hacer, alli ya t queda implemnetado, realmente esta facil, solo cree esos metodos porque serian los mas basicos ya de alli te toca implementarlo a tu proyecto y agregarle si es necesario o adaptarlo!

Cualquier duda ya sabes o algo q no entendas m avisas!  :big_boss:
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: vb.Net personalizar Control Personalizado XD
« Respuesta #49 : septiembre 23, 2008, 11:14:21 am »
gracias viejo!

lo voy a revisar detalladamente en mi casa... no tengo chance ahorita....

hay te aviso cualquier onda.... :thumbsup:
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: vb.Net personalizar Control Personalizado XD
« Respuesta #50 : octubre 03, 2008, 12:49:39 pm »
ahora tengo otra consultilla....... XD


ya me di verga como no tenés idea y no logro hacer lo que quiero ahora....... XD

necesito crear una propiedad parecida al tipo Matriz de dos dimensiones....

como así.....

quiero una propiedad donde pueda poner dos únicos datos.... "Codigo" y "Descripcion"

primera prueba fallida

ya probe con una propiedad de matriz de "una" dimension, pero, no haye como utas hacer para hacerla de dos dimensiones...

mi propiedad matriz de una dimension
Citar
private Campos_(99) as string
property Campos() as string
        Get
            Return Campos_
        End Get
        Set(ByVal value() As string)
            Campos_ = value
        End Set
end property
pero como dije no haye como hacerla de dos dimensiones.... que podría ser una solución a lo que necesito.....




segunda prueba fallida

probe con una propiedad del tipo List (of ) ..... pero no me guarda la lista...


hise una clase asi
Citar
Imports system.Collections.ObjectModel
Public Class CamposGrid
    Private Codigo_ As String
    Property Codigo() As String
        Get
            Return Codigo_
        End Get
        Set(ByVal value As String)
            Codigo_ = value
        End Set
    End Property

    Private Descripcion_ As String
    Property Descripcion() As String
        Get
            Return Descripcion_
        End Get
        Set(ByVal value As String)
            Descripcion_ = value
        End Set
    End Property
End Class

luego la propiedad la hice así....

Citar
private Campos_ as new List(Of CamposGrid)
    Property Campos() As List(Of CamposGrid)
        Get
            Return Campos_
        End Get
        Set(ByVal value As List(Of CamposGrid))
            Campos_ = value
        End Set
    End Property

y en efecto, aparece la propiedad con el tipo Lista de mi clase.... ya en tiempo diseño, agrego los datos en la propiedad .... pero, pero, cuando ejecuto el proyecto no me aparece la Lista con Valores, valores que yo en tiempo de diseño agregue....



SE QUE ALGO TENGO MALO....

pero en ambos casos es que necesito ayuda....



la solución que mas me urge es la segunda.... Propiedad con List (Of) ...... pero cualquier ayuda  en ambos casos es Bienvenida.... :)
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re: vb.Net personalizar Control Personalizado XD
« Respuesta #51 : octubre 03, 2008, 08:46:28 pm »
Mira ya que queres usar un valor asociado a su codigo, en vez de crear una matriz xq no ocupas un DictionaryEntry o una HasTable, para lo que queres hacer te conviene mejor hacer una hashtable, asi le mandas la clave (en tu caso el codigo) y a lo q esta asociado (descripcion) y podes buscar en tu matriz asi como si fuera diccionario con la clave asociada!

Y con lo de matriz multidimensional no intentastes con:
Dim matriz()() as string

Con poner parentesis seguido alli le decis al compilador q estas creando una matriz de 2 dimensiones!

Avisame si te parece con un HashTable o si te funciona ya directamente lo de la matriz! Asi para ayudarte con cualquiera de las 2!
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: vb.Net personalizar Control Personalizado XD
« Respuesta #52 : octubre 04, 2008, 08:50:19 am »
Y con lo de matriz multidimensional no intentastes con:
Dim matriz()() as string

ijole..... se me olvido decir que con lo que tengo problema es con la Declaración de La Propiedad, o sea, una variable la puedo dimensionar con dos valores de esta forma.... dim matriz(99,99) as string

pero, el problema esta en decirle a una propiedad que va a recibir valores de una matriz multidimensional....
property ArrayMultimensional()() as string da error.... property ArrayMultimensional(99,99) as string también da error....




me parece lo que decis del HashTable..... pero ojo.... porque debe cumplir con el requisito de poderlo usar en una propiedad, y que le ingrese valores en tiempo de diseño desde la ventana de Propiedades.....

Si cumple eso, dale, decime como usar el HashTable :thumbsup:
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re: vb.Net personalizar Control Personalizado XD
« Respuesta #53 : octubre 04, 2008, 11:43:09 pm »
Bueno primero probe lo de la matriz y para nada, no se puede! Yo pense q si c podian manejar matrices en las propiedades pero no solo vectores (una dimension).

Bueno entonces la unica solucion q se m ocurrio fue combinar lo q antes habia explicado q es como hacer propiedades expandibles con el Object Collection Editor q tambn ya lo habiamos visto antes! Bueno lo voy a explicar a grandes rasgos xq antes creo q en este tema lo explique y te pongo lo que debes de hacer y crear.

SOLUCION
Vamos a crear el contenido  o los campos que deseamos en nuestra matriz, para hacerlo tipo ExpandableObject que el diseñador en la ventana de propiedades tomaria nuestra clase como un objeto expandible, entonces para crearlo creamos la siguiente clase:

Código: [Seleccionar]
Imports System
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Collections

<TypeConverterAttribute(GetType(ExpandableObjectConverter))> _
Public Class ContentMatriz
    'Esta clase va a ser lo q va a contener la matriz o mi array list
    Private m_Codigo As String = "1"
    Private m_Des As String = "HOLA"

    Sub New()
    End Sub

    ''' <summary>
    ''' El constructor en la clase, la cual se puede pasar automaticamente los parametros que se le van agregar
    ''' </summary>
    ''' <param name="Codigo"></param>
    ''' <param name="Descripcion"></param>
    ''' <remarks></remarks>
    Sub New(ByVal Codigo As String, ByVal Descripcion As String)
        m_Codigo = Codigo
        m_Des = Descripcion
    End Sub

    Public Property Codigo() As String
        Get
            Return m_Codigo
        End Get
        Set(ByVal value As String)
            m_Codigo = value
        End Set
    End Property

    Public Property Descripcion() As String
        Get
            Return m_Des
        End Get
        Set(ByVal value As String)
            m_Des = value
        End Set
    End Property

End Class

Si te fijas a la clase le establecemos el atributo de TypeConverter, que antes en un ejmplo te lo explique para q servia y le ponemos q convierta la clase a ExpandableObject, y de esa manera tendriamos una propiedad que se puede expandir.
OJO: yo solo agregue 2 propiedades y sin validaciones ni nada, pero aqui vs podes meter todas las propiedades que necesites y no vas a tener problema!

Ahora que ya tenemos nuestra clase que seria el contenido, nos vamos a la clase de nuestro UserControl y vamos a crear la propiedad que seria la matriz y hariamos uso del Object Collection Editor por tanto la declaracion de nuestra propiedad nos quedaria:

Código: [Seleccionar]
    Private hMat As New List(Of ContentMatriz)
    <DesignerSerializationVisibility(DesignerSerializationVisibility.Content)> _
    Public Property hIma() As List(Of ContentMatriz)
        Get
            Return hMat
        End Get
        Set(ByVal Value As List(Of ContentMatriz))
            hMat = Value
        End Set
    End Property

Entonces de esa manera, cuando vayamos a llamar a la propiedad en tiempo diseño, nos cargara el Object Collection Editor, pero los campos que vamos a ingresar seria los de nuestra clase que creamos anteriormente, entonces seria un registro por clase y todo esas clases se almacenan en un List.

Yo que me acuerde (y no se donde lo lei) al parecer no tiene soporte para el manejo d multiples dimensiones por eso la solucion se debe d implementar asi como te la e puesto!

Bueno no entre en mucho detalle en ese post, xq anteriormente te explique lo del Object Collection Editor y tambn creo q t explique para ser propiedades expandibles! entonces alli podes revisar x si ya no te acordas!

Espero q esto sea lo q andabas intetando hacer y t sirva! Cualquier duda m avisas!!  :big_boss:  :thumbsup:
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: vb.Net personalizar Control Personalizado XD
« Respuesta #54 : octubre 06, 2008, 08:48:00 am »
barbaro colocho..... yo intente hacer lo que tu me dices.... pero no me salió......

GRACIAS COMPADRE..... :thumbsup:
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito