2- Agrupar propiedades....
el pique esta así.... tengo dos propiedades en mi control.... una es por así decirlo, madre de la otra.... Han visto en .Net al propiedad DataBindings, que tiene un signo más(+) al lado izquierdo y al darle clic al signo se despliegan más propiedades....eso es lo que quiero hacer....
una img de ejemplo...
son solo cosillas, quizá triviales para algunos, pero creo que a mis controles solo eso les falta
Esto de agrupar propiedades lo hace automaticamente VS! Pero para lograrlo hay que ocupar las cositas que se ponen en < > (se me a olvidado de los nombres de estas cosas
) que los pones arriba de una funcion ya se para agregarle propiedades o comportamiento en el entorno de diseño!
Dejame buscarlo que yo hic un ejemplo asi y te mando la explicacion! Que debo de tener un codigo dond ocupe eso! Ya lo explico!
MODIFICADO: Creo q se llaman atributos pero que alguien m corija si no se llaman asi!
MODIFICADO NUEVAMENTE, Hoy si aqui te dejo, ya lo encontre vs:
RESPUESTA A LA SEGUNDA PREGUNTAVaia hoy si ya encontre el ejemplo del programa que hice, jejeje y esta facil y es como te mencione anteriormente, entonces para hacer ese efecto tenes que crear una clase o una estructura que contenga los campos que queres que aparezcan agrupados!
En mi ejemplo era para generar fondos degradados, por tanto agrupaba los campos del color 1, color 2 y si dado caso utilizaban la transparencia por tanto mi clase la llame 'COLORDEGRADADO' el cual incluye 2 propiedades basicas y son las que nos interesan entonces me quedaba declarada asi:
<TypeConverterAttribute(GetType(ExpandableObjectConverter))> _
Public Class ColorDegradado
Private mAlpha As Integer = 255
Private mColor As Color = Color.White
<Description("Especifica el color que tomara")> _
Property Color() As Color
End Property
<Description("El nivel de transparencia que posee el color. 0 es completament transparente y 255 completamente opaco")> _
Property Transparencia() As Integer
End Property
End Class
Esa seria mi clase para que los datos que m interesen esten agrupadon en una clase, y tenes que ponerle el atributo que te mencione arriba que es el
TYPECONVERTERATTRIBUTE, para que eso se pueda convertir en un tipo expandible.
Una vez tengamos ya creado nuestra clase pasamos al codigo de nuestro control personalizado, entonces alli vas escribir lo siguiente, bueno en mi ejemplo lo hic de la manera siguiente:
Creo la propiedad en mi caso llamada BackColor1 y me quedo asi:
Private BKColor1 As New ColorDegradado
<DesignerSerializationVisibility(DesignerSerializationVisibility.Content), _
Category("Apariencia")> _
Public Property BKColorDegradado1() As ColorDegradado
Get
Return BKColor1
End Get
Set(ByVal value As ColorDegradado)
BKColor1 = value
End Set
End Property
Vaia si te fijas esta vez agrege 2 atributos:
1 -
DesignerSerializationVisibility este atributo se mal no recuerdo es el que hace que en tiempo diseño muestre el contenido del tipo que fue declarado, en otras palabras, que agarre los campos que contenga la clase que creamos anteriormente.
2 -
Category (Esta noc si ya te la podias), esta es para agruparla a una categoria ya existente o creamos una nueva a la hora de visulalizar las propiedades de nuestro control en Vista por CATEGORIA!
Una vez allas adaptado mi codigo a lo que deseas hacer, te debe de salir y te dejo una imagen de como te queda que es lo que querias lograr:
Espero que te sirva y cualquier duda me preguntas de algo que no te salga o no entendistes.
PD:
Importaciones que debes de hacer son: - Imports System.ComponentModel
- Imports System.ComponentModel.Design
Creo que solo esas son! Espero que te sirvar!
PD 2: Si algunas cosas no las explique bn como los atributos que ocupe, podes buscar mas ayuda en el MSDN, para que entendas mejor la explicacion de esos atributos! Es que el año pasaod hic eso y algunas cosas no m acuerdo muy bn jejejeje!