Ir al contenido principal

How to: Adding "Control" inside "ComponentTray" in "VS" design surface

Bueno, ultima mente he estado visitando el foro de Windows Form Designer ya que es un foro donde se trata mucho sobre diseñar controles personalizados, he respondido a un par de preguntas pero la que más me llamo la atención es esta: 


Aún estoy pensando la utilidad que se le podría dar al agregar un control al área de componentes del diseñador, pero bien!!!... si Microsoft lo implementa con el control "ToolStrip", pues su uso tendrá, cada cabeza es un mundo así que me di a la tarea de buscar la forma de hacer lo que se pedía en esa pregunta, hasta que encontré dos maneras de hacerlo. ¿Donde las encontré?... en mi cabeza. naaaaaaa... bueno!!!, si, solo que tuve que debuggear mucho.

Brinde dos opciones para hacerlo, la segunda opción tiene un error, ya que se usa una interfaz que es interna, la cual esta en el namespace "System.Windows.Forms.Design.ISplitWindowService" por alguna razón Microsoft decidió no hacer publica esta interfaz aún que se puede tener acceso a ella en tiempo de diseño como se muestra en el ejemplo.

Bueno, el error tiene solución solo que hay que seguir investigando para resolver algo que tiene una solución más digamos "practica", la cual es la que se implementa en la primera opción.

Realmente se aprende mucho en estos foros, así que los invito a que pasen a revisar las preguntas que se suelen hacer por aquí, pueda que encuentres como hacer algo que pensaste que no se podía hacer.

Salu2,

Comentarios

  1. marvin.... no t imaginas lo que he aprendido contigo... me gustaria que me ayudaras en algo importantisimo, estoy desarollando una aplicacion en c sharp, es una aplicacion de gestion de negociios, el punto es q estoy trancado en algunos puntos, y se q me puede ayuadar tu conocimientos....
    soy dominicano... porfavor devuelveme a este correo...
    couldcountry@gmail.com

    ResponderEliminar
  2. Hola Edward,

    Realmente me alegra escuchar tu comentario y que gusto saber que mis articulos estan siendo de utilidad para la comunidad de desarrolladores en .NET.

    No te dire que no te puedo ayudar, con gusto te ayudare en lo que pueda, pero!!!!... yo soy de los que opinan que dos cabezas piensan mejor que una, yo creo que obtendrias una mejor ayuda si planteas tus dudas en los foros de MSDN, ahi podras contar con la ayuda de los demas compañeros que contribuyen a diario con sus conocimientos y experiencias, como Pedro, Leandro y SoftJaén en el foro de VB.NET. y demas compañeros.

    Te invito a que plantes tus dudas en el foro, veras que no te arrepentiras.

    Foro C#:
    http://social.msdn.microsoft.com/Forums/es-ES/vcses/threads

    Foro VB.NET
    http://social.msdn.microsoft.com/Forums/es-ES/vbes/threads

    pero, si aún así insistes en una ayuda más personal, con gusto hare tiempo para ayudarte.

    Salu2,

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

TextBox con Borde Personalizado

Bien, retomando nuevamente mi blog, luego de tanto tiempo ausente, veremos como personalizar el borde del control TextBox con un color diferente. hace poco vi en los foros de MSDN, en el foro de VB.Net esta pregunta, ¿ Cómo puedo cambiar el color del borde de un control TextBox ?, anteriormente también se hizo la misma pregunta en este mismo foro donde yo respondí como hacerlo VB2010 4.0 - Como crear un textbox personalizado . no hay manera fácil de personalizar un control, generalmente se tiene que sobre escribir el evento WndProc para escuchar los mensajes de window y reemplazar la funcionalidad de estos según sea la necesidad o el control. bien, para cambiar el color del borde del control TextBox sin mucha funcionalidad, se debe de escuchar y reemplazar el funcionamiento de los mensajes WM_PAINT y WM_NCPAINT . ¿ Porque WM_PAINT ?, porque cuando cambiamos la propiedad BorderStyle de este control a FixedSingle, quien pinta el borde es el mensaje WM_PAINT no asi el WM_NC

TextBox con Icon/Imagen

Bien, continuando con este articulo: TextBox con borde personalizado , ahora le dare la funcionalidad de poder mostrar un icono o imagen dentro del Control TextBox. Existen dos maneras de hacer esto: Pintar el icono/imagen dentro del control o Pintar el icono/imagen dentro del Non-Client Area del control. Pintar el icono/imagen dentro del control. Antes de escribir el código decidi googlear un poco, para ver si alguien más ya habia tenido la misma idea de usar el mensaje EM_SETMARGINS para dejar el espacio necesario para pintar el icono o imagen ya sea a la derecha o izquierda y me he encontrado con este articulo. Adding an Icon or Control to a TextBox or ComboBox . Pintar el icono/imagen de ntro del Non-Client Area del control. Us ando el Non- Client Area no encontre resultados googleando, así que es la forma que usar e para dib ujar un icono o imagen dentro de un control TextBox. En el control TextEditor que escrib í, utilizo esta manera para pintar el icono

Personalizar DataGridView (II) - Bloquear columnas de solo lectura

Personalizar DataGridView - Actualizaciones Personalizar DataGridView (II.1) - Bloquear columnas de solo lectura. Personalizar DataGridView (III) - Cambiar Diseñador. Bien, continuando con el articulo " Personalizar DataGridView (I) - Pintar área vacía ", ahora lo que haré es darle al control la funcionalidad de bloquear las columnas cuya propiedad " ReadOnly " se establezca en " true ", entiéndase por "Bloquear" el evitar que las columnas cuya propiedad " ReadOnly=true " puedan recibir el foco, ya sea por el teclado o por el ratón ( mouse ). Para tal objetivo agregare una nueva propiedad al control la cual llamare " AllowFocusReadOnlyColumns " cuyo valor predeterminado sera " true ", en caso de ser " false " las columnas marcadas como solo lectura no recibirán el foco. También le daré la funcionalidad de poder avanzar a la siguiente columna al presionar la tecla " ENTER " agregando otr