Usuario
TabControl Deshabilitar alungas fichas

Pregunta
-
Tengo un TabControl con 3 fichas. Como puedo poner la ficha 2 y 3 tipo enabled = false, para que no se pueda ingresar en el mientras estoy trabajando en la ficha 1.
- Cambiado Enrique M. Montejo martes, 29 de marzo de 2016 7:03 Pregunta relacionada con controles de Windows Forms.
Todas las respuestas
-
Hola revisa este enlace podría ser de utilidad:
Si se solucionó tu consulta no olvides marcar la respuesta. Saludos
-
hola
aqui
http://social.msdn.microsoft.com/Forums/en-US/vbes/thread/f1140d20-c48b-47fb-b5ee-92ba73963c7e
se trato el mismo tema, deshabilitat tab hasta donde se no se puede, peor si puedes remover o agregas estos tab de forma dinamica
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
Muchas gracias a los 2 por responder lo solucione asi:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' 'Ocultar fichas 2 y 3 ' Me.TabPage2.Parent = Nothing Me.TabPage3.Parent = Nothing End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' 'Mostrar fichas 2 y 3 y llevar el foco a la ficha 2 ' Me.TabPage2.Parent = Me.TabControl1 Me.TabPage3.Parent = Me.TabControl1 Me.TabControl1.SelectedTab = TabPage2 End Sub
-
Hola:
En un Form con 3 Button y 1 TabControl con 3 TabPages; y 1 TextBox, 1 ComboBox y 1 DateTimePicker en cada Tabpage, copia y pega el siguiente codigoPublic Class Form1
Private mbPag1 As Boolean = False
Private mbPag2 As Boolean = False
Private mbPag3 As Boolean = False
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
lP_TabControlEnable(TabPage1, mbPag1)
mbPag1 = Not mbPag1
End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
lP_TabControlEnable(TabPage2, mbPag2)
mbPag2 = Not mbPag2
End SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
lP_TabControlEnable(TabPage3, mbPag3)
mbPag3 = Not mbPag3
End SubPrivate Sub lP_TabControlEnable(ByRef vrPaginaTab As TabPage, ByVal vbEnable As Boolean)
For Each Ctrl As Control In vrPaginaTab.Controls
If TypeOf Ctrl Is TextBox Then
CType(Ctrl, TextBox).Enabled = vbEnable
ElseIf TypeOf Ctrl Is ComboBox Then
CType(Ctrl, ComboBox).Enabled = vbEnable
ElseIf TypeOf Ctrl Is DateTimePicker Then
CType(Ctrl, DateTimePicker).Enabled = vbEnable
End If
Next
End Sub
End ClassP.D.
No bloquea el TabPage, pero te deja todos los controles contenidos en el tabpage bloqueadosUn saludo desde Bilbo
Carlos -
-
Primero debes tener una bandera que indique cuando estás trabajando o no en la ficha 1. Para esto una variable booleana dentro del form te puede ayudar.
La inicializas en false en el load de la forma y dentro de la primera ficha colocas un boton que cambiará el booleano a true, indicando que ya terminaste de trabajar dentro de la ficha. Y junto con el evento selecting del tab resuelves el resto
Private Sub Tab_Selecting(sender As Object, e As System.Windows.Forms.TabControlCancelEventArgs) Handles Tab.Selecting
If e.TabPageIndex > 0 And var = False Then
e.Cancel = True
ElseIf e.TabPageIndex = 0 Then
var = False
End If- Editado José Rolando miércoles, 10 de julio de 2013 21:23 Mejora del codigo