• Lunes 29 de Abril de 2024, 02:09

Autor Tema:  Problema con Control de usuario!!!!!!!!!  (Leído 1499 veces)

venusita

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Problema con Control de usuario!!!!!!!!!
« en: Martes 23 de Septiembre de 2008, 01:50 »
0
:rolleyes: Hola que tal... estoy realizando una barra toolstrip personalizada (con los botones comunes 1er regitro,ultimo,nuevo,editar,etc) con mis propios iconos. para realizar el control hago lo siguiente:
 
1.- Creo un nuevo proyecto WindowsControlLibrary
2.- ya en el control agrego el toolstrip con sus respectivos toolstripbuttons
3.-genero la aplicacion y listo me creo la dll llamada barraherramientas y la clase/control de usuario se llama Barra1

Mi problema es el siguiente:  :(
 
El control que realize es solo para no estar diseñando a cada rato la barra, pero ya en los formularios donde la voy a usar kiero programar cada boton. y no puedo no encontrado la forma ya que el control de usuario al agregarlo a la forma es como si fuera el solo sin los botones y yo kiero programar cada boton  :comp:   . ejemplo:

'-----Esta es la clase/control de usario----------------------------
 Private Sub Barra11_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Barra11.Click

  End Sub

pero yo kiero programar cada componente del toolstrip   :brickwall:  .......... me explico?????  como normalmente  se hace.   :hitcomp:

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Problema con Control de usuario!!!!!!!!!
« Respuesta #1 en: Martes 23 de Septiembre de 2008, 04:57 »
0
Pués no, no te explicas, no llego a comprender que quieres realmente.

Voy a aventurarme basándome en suposiciones....lo cuales perder tiempo y el tiempo lo tiene que perder el interesado haciendo las preguntas correctamente.

Si tu control personalizado se llama Barra insertas en el formulario 2 instancias de ese objeto pasarían a llamarse Barra1 y Barra2...

Bien si tu control Barra tiene pongamos 3 botones y quieres programar sus eventos click necesitas en tu control barra haber incluído los eventos click para dichos eventos. entonces en tu control Barra en su diseño debes pulsar en los botones para que se abra su evento click y allí proovocar el evento que previamente declaraste   ' raiseevent Button1_click  Que por ejemplo al button1 lo podrías haber llamado nuevo en vez de btnNuevo o button1, entonces si hiciste así luego hecho ya los cambios y guardados en un formulario de prueba al pulsar en Barra1, se abrir´ça el evento barra1_click , porque es el evento por defecto, pero puedes localizar el resto de eventos y deberías encontrar barra1_Editar que se correspondería con el botón editar_Click .... barra1_Nuevo que correspondería al botón Nuevo_click o barra1_Button3 que se correspondería con el button3_click .

LOs eventos debes declararlos previamente y luego provocarlos cuando sea preciso, hay 2 casos,  si no hay más código adicionakl o si lo hay... te pongo un breve ejemplo:

Código: Visual Basic
  1.  
  2. ' esto es el botón 1 en tu diseño de tu control personalizado, para que veas las correspondencias no altero el nombre del botón pero que tu si deberías hacerlo poniendo el nombre de sus acción (editar, nuevo, etc..
  3. Public Class Barra  ' UserControl1
  4.     ' declaro el evento y sus parámetros, puedo añadir o quitar parámetros, pero a un botón típicamente va bien así...
  5.     Public Event Editar(ByVal sender As System.Object, ByVal e As System.EventArgs)
  6.  
  7.    ' si mi botón no hará nada en mi código simplemente desencadeno su evento para que llegue al usuario, allí el evento se llamará Barra_Editar(...)
  8.     Private Sub BtnEditar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  9.        ' si quieres hacer algó antes de provocar el evento escribe aquí dicho código
  10.            ' provocamos el evento editar ...
  11.           RaiseEvent Editar(sender, e)   ' mira esto:   0000000000000 desde aquí salta a más abajo donde pone 111111111111 cuando estçé en ejecución
  12.      
  13.      ' si quieres hacer algo después que termine la devolución escribe el código aquí, por ejemplo validar algo...
  14.     End Sub
  15. End Class
  16.  
  17.  

Ahora cuando guarde el control y ponga una instancia de él en el formulario de una aplicación, al ir a la ventana de código, se leccionamos Barra1 (en el combo del 'class name' ) y el evento deseado, en nuestro caso Editar en el combo de 'declaraciones' . el código que saldría sería este.

Código: Visual Basic
  1.  
  2. ' esto ya en una aplicación ...
  3. Public Class Form1
  4.    
  5.    ' si mi botón no hará nada en mi código simplemente desencadeno su evento para que llegue al usuario, allí el evento se llamará Barra_Editar(...)
  6.     Private Sub Barra_Editar(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Barra1.Editar ´
  7.         ' 1111111111111 aquí se llega desde el código señalado arriba como  0000000000000000
  8.         ' el código que vayas a programar.... cuando se pulse en el botón editar del control ya creado.
  9.     End Sub
  10.  
  11.     Private Sub Barra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Barra1.Click
  12.         ' el código que vayas a programar....
  13.     End Sub
  14.  
  15. End Class
  16.  
  17.  
«Ma non troppo»
----> ModoVacaciones = False<----

venusita

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Problema con Control de usuario!!!!!!!!!
« Respuesta #2 en: Martes 23 de Septiembre de 2008, 16:18 »
0
:P   muchisimas gracias....  NEBIRE !!!!!!!!!!!!  :D  .......en realidad eso es lo que queria ya hice una prueba y esta perfecto...  :good: ..  gracias por tu apoyo..  bye  :hola:

venusita

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Problema con Control de usuario!!!!!!!!!
« Respuesta #3 en: Jueves 25 de Septiembre de 2008, 00:39 »
0
otra pregunta ..... si es que tienes tiempo de ayudarme  :wub:  ...... he kerido agregar la porpiedad enabled de cada boton para manipularla desde la forma a usar la clase y la declaro asi :

Public Property BtnEliminar() As Boolean
        Get
               Me.btn_eliminar.Enabled = True
        End Get
        Set(ByVal value As Boolean)
               Me.btn_eliminar.Enabled = value
        End Set
    End Property


ese mismo lo pongo para todos los botones claro con su respectivo nombre, si funciona, pero en el panel de propiedades de mi forma me aparecen siempre en false y no puedo cambiarle el valor a true siempre se devuelve a False.   :brickwall:   solo por medio de codigo puedo pero kiero que al cargar la forma esten unos enables y otro no....... si lo tenia declarado desde mi clase pero fue un problema por eso kiero manejarlo desde la forma que contenga la clase.

venusita

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Problema con Control de usuario!!!!!!!!!
« Respuesta #4 en: Jueves 25 de Septiembre de 2008, 01:19 »
0
Sorry!!!! sorry!!!!!,  por postear sin antes internar arreglar el problema....
Ya lo soluciones creo que era obvio porque siempre me regresaba false, en lugar de que en el Get pusiera por default el valor True, solo tenia que agregar Return y kitar el valor......

 Public Property BtnCancelar() As Boolean
        Get
            Return Me.btn_cancelar.Enabled
        End Get
        Set(ByVal value As Boolean)
            Me.btn_cancelar.Enabled = value
        End Set
    End Property


Gracias....!!!!!!   :P