miércoles, 18 de mayo de 2011

-->

Agregar un UserControl dinamicamente en VB:NET
Bueno Estuve ausente por algun tiempo debido a cuestiones personales,
pero aqui les traigo un nuevo post estoy seguro que les sra de mucha utilidad,
muchas veces nos hemos visto en la necesidad de incrustar 
un cojntrol de usuario a nuestro proyecto, pero q sucede cuando
este ya esta compilado o cuando debemos cambiar el diseño nuestro trabajo
sin duda se trunca y volver a inicar se vuelve sin duda en nuestro via crusis.
ademas no es conveniente limitar al sistema
hay que procurar parametrar el sitema de la mayor forma
tanto asi que nada sea independiente de nada , 
bueno no seamos tan literales pero ese es la idea.
sin mas floro gente describo el ejemplioooo

creamos un nuevo proyecto al cual yo le llame cargardll

y una vez ya creado agregamos un mdi al cual lo llamaremos MDI_PADRE 


 limpiamos el mdi; es decir; eliminamos los controles que vienen por default ,



agregamos un MenuStrip al proyecto el cual los toolsstringItem
son {archivo, logistica, ventas, reportes, busqueda, administracion} 
y listo calistoo


agreamos un sub item al de logistica como orden de compras y dobleclick sobre el nos mostrara un editor de codigo en el cual vamos a empezar para ello agregamos un subproceso llamado new_formulario dodne se encontrara nuestro code
nota: observemos que en el extremo  derecho aparece nuestra referencia es decir nuestro dll del user control
 



Sub New_formulario()
'INSTRANCIAMOS EL USER CONTROL
Dim UCONTROL As New UC_ORDENCOMPRAS.UcOrdenCompras
'capturamos el ancho y alto de usercontrol
Dim X As Integer = UCONTROL.Width
Dim Y As Integer = UCONTROL.Height
'Y DECLAMARON UN A INSTANCIA DE TIPO FORM
Dim FRMORDENCOMPAS As New Form 
With FRMORDENCOMPAS
'TEXTTO DE CABEZERA
.Text = "GENERACION ORDEN DE COMPRAS"       
'tamaño del contenedor o form
.Size = New Size(X + 20, Y + 20)
'agregamos el usercontrol al formulario
.Controls.Add(UCONTROL)
.MaximizeBox = False
.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
.ShowDialog() 'llamar al formulario
End With
End Sub



'y en el item orden de compras llamamos al subproceso New_formulario

 Private Sub ORDENDECOMPRASToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ORDENDECOMPRASToolStripMenuItem.Click
New_formulario()
End Sub


y en el evento load del mdi llamos la propiedad WindowState 
y el indicamos que sea maximizado; es decir; 
que cuando inice el mdi inicie de modo maximixado (pantalla completa)


Private Sub MDI_PADRE_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'inicar el mdi maximizado
Me.WindowState = FormWindowState.Maximized    
End Sub



listo bandidosss!! ejecutamos el programa 

 

El resultado sera el siguiente



bueno espero que halla sido de utilidad y nos vemos en otra oportunidad
si necesitan algo no duden en escribirme y con gusto los ayudo 
aunq soy himilde no lo se too desde luegoo
Categories:

0 comentarios: