none
crear biblioteca de controles bases para usar en mis aplicaciones RRS feed

  • Pregunta

  • Hola a todos, quiero hacer un proyecto dll donde pueda crear mis controles bases de los cuales voy a partir para trabajar en mis aplicaciones

    por ejemplo quiero crear un control form que tenga los botones agregar modificar y borrar. la grilla y los botones son a parte otros controles que tengo en la dll

    mi pregunta es si me conviente directamente crear un control de usuario que tenga estos controles dentro o crear  clases y que cada una herede de un control windows particular 

    esta seria la base de controles que quiero armar:
     
                                 -grillabase  (que herede del control grilla de win)
                                 -botonbase(que herede del control boton win)
                                           -btnaceptar
                                           -btncancelar
                                           -btagregar
                                           -btnmodificar
                                           -btneliminar  
                                 -frmbrowsebase(que herede de form) 
                                  en este formulario agrego la grilla , los botones btnagregar, btnmodifcar y btneliminar

    mi duda es si uso controles de usuario o directamente defino clases que hereden de controles.
    yo estuve probando de crear todo como controles de usuario, un contrl de usuario para los botones, otro para la grilla, otro para el formulario

    pero cuando quiero editar la grilla en el formulario heredado del control de usuario  frmbrowsebase no puedo editar las columnas, si hago click derecho no me aparece la opcion de editar columnas como cuando trabajamos en una grilla directamente y debe ser porque cuand ohago clik derech sobre m iconrol de usuario el click esta sobre e control de usuario y no la grilla, por eso no me aparece a opcion editar columnas


    Saludos y gracias
    programador
    jueves, 20 de agosto de 2009 18:41

Respuestas

  • Hola amigo, esta interesante tu comentario.

    puede desarrollar un user control que combine cada uno de esto controles! claro esta segun tu necesidad.

    Ahora de crear un clase base del cual utilice de forma generica para tu desarrollo, es dificil. Si puede desarrollar un dll donde contega por separado (namespace) cada clase relacionada y desde ahi si puede llamar cada uno por seperado!.

    algo si es seguro .net framework solo acepta Herencia Simple.



    si te sirvió mi información, calificame como respuesta!

    Developer
    jueves, 20 de agosto de 2009 18:56
  • Si a los controles existentes le vas a añadir nuevas características, o vas a redefinir las que ya tienen, está bien que crees una nueva clase que herede de un control ya existente, pero si no es así, ¿para qué "leches" quieres crear una nueva clase de control? ¿Para que haga lo mismo que el control del cual hereda? Poco sentido tiene hacer eso. :-)

    Ahora bien, si vas a crear un control tipo DataGrid o Button desde cero, entonces no es necesario que tu clase herede de un control ya existente, sino que deberá heredar directamente de la clase UserControl, que es la que nos permite crear nuestros propios controles de usuario.

    > pero cuando quiero editar la grilla en el formulario heredado del control
    > de usuario  frmbrowsebase no puedo editar las columnas,

    Si tienes un control DataGridView en un formulario, y éste va a servir de clase base para que pueda ser heredado por otras clases, vas a tener muchos problemas para modificar las propiedades del control DataGridView desde los formularios heredados, como parece ser que así te está ocurriendo.

    Enrique Martínez [MS MVP - VB]
    jueves, 20 de agosto de 2009 19:06
    Moderador
  • Como te indiqué anteriormente, el control DataGridView, dentro de un formulario que va a servir de base para otros formularios, es casi "intocable", de hecho, habrás observado que no se pueden editar sus propiedades desde la Ventana de Propiedades, aunque modifiques a «Protected» el valor de su propiedad «Modifiers» en el control existente en el formulario base.


    Enrique Martínez [MS MVP - VB]
    • Marcado como respuesta rodrigo barboni lunes, 7 de septiembre de 2009 11:09
    sábado, 5 de septiembre de 2009 15:29
    Moderador

Todas las respuestas

  • Hola amigo, esta interesante tu comentario.

    puede desarrollar un user control que combine cada uno de esto controles! claro esta segun tu necesidad.

    Ahora de crear un clase base del cual utilice de forma generica para tu desarrollo, es dificil. Si puede desarrollar un dll donde contega por separado (namespace) cada clase relacionada y desde ahi si puede llamar cada uno por seperado!.

    algo si es seguro .net framework solo acepta Herencia Simple.



    si te sirvió mi información, calificame como respuesta!

    Developer
    jueves, 20 de agosto de 2009 18:56
  • Si a los controles existentes le vas a añadir nuevas características, o vas a redefinir las que ya tienen, está bien que crees una nueva clase que herede de un control ya existente, pero si no es así, ¿para qué "leches" quieres crear una nueva clase de control? ¿Para que haga lo mismo que el control del cual hereda? Poco sentido tiene hacer eso. :-)

    Ahora bien, si vas a crear un control tipo DataGrid o Button desde cero, entonces no es necesario que tu clase herede de un control ya existente, sino que deberá heredar directamente de la clase UserControl, que es la que nos permite crear nuestros propios controles de usuario.

    > pero cuando quiero editar la grilla en el formulario heredado del control
    > de usuario  frmbrowsebase no puedo editar las columnas,

    Si tienes un control DataGridView en un formulario, y éste va a servir de clase base para que pueda ser heredado por otras clases, vas a tener muchos problemas para modificar las propiedades del control DataGridView desde los formularios heredados, como parece ser que así te está ocurriendo.

    Enrique Martínez [MS MVP - VB]
    jueves, 20 de agosto de 2009 19:06
    Moderador
  • Hola amigo, que tal, yo quiero crear una clase por ejemplo que herede de la grilla de winform, luego en mis formularios cuando pegue una grilla luego la hago heredar de esta clase grillabase, asi se vera de la misma forma en cuanto aspectos visuales y tendra las mismas propiedades seteadas, luego poder cambiarlas por supuesto

    pero lo que no tenia en claro es si hacer el control botn, el control grilla en controles de usuario cada uno separado y luego crear controles de usuario combinando los controles o directamente usar clases si nconroles de usuario, no se la verdad cual me puede traer mas ventajas para elegir crearlos de una forma u otra
    Gracias
    programador
    jueves, 20 de agosto de 2009 19:09
  • lo que hice fue lo siguiente, cree mi formulario base con los botones agregar, modificar, borrar y salir y no pegue mi grilla alli
    en mi proyecto cuando quiero crear un formulario browse uso este formulario base para crear uno nuevo y cuando le lanzo la tabla desde origenes de datos antes elegi que control quiero usar por defecto y le asigne mi clase grilla "grillabase" pero tengo que hacerlo cada vez que quiero crear un formulario browse, asi si se me permite editar las filas y modificar desde el asistente cosa que no podia hacer si directamnete tiraba mi grilla base en la clase formulario base

    Saludos


    programador
    sábado, 5 de septiembre de 2009 15:01
  • Como te indiqué anteriormente, el control DataGridView, dentro de un formulario que va a servir de base para otros formularios, es casi "intocable", de hecho, habrás observado que no se pueden editar sus propiedades desde la Ventana de Propiedades, aunque modifiques a «Protected» el valor de su propiedad «Modifiers» en el control existente en el formulario base.


    Enrique Martínez [MS MVP - VB]
    • Marcado como respuesta rodrigo barboni lunes, 7 de septiembre de 2009 11:09
    sábado, 5 de septiembre de 2009 15:29
    Moderador