mostrar - tabcontrol sin pestañas c#
Compruebe si se selecciona una pestaña específica(activa) (5)
Estoy haciendo un evento para verificar si la pestaña específica en un control de pestaña está activa.
El punto es que activará un evento si esa página de pestañas en un control de pestañas es la pestaña actualmente seleccionada. ¿Algún código que me dará lo que necesito?
Creo que usar el evento tabPage1.Enter
es más conveniente.
tabPage1.Enter += new System.EventHandler(tabPage1_Enter);
private void tabPage1_Enter(object sender, EventArgs e)
{
MessageBox.Show("you entered tabPage1");
}
Esto es mejor que tener una declaración if-else anidada cuando tiene una lógica diferente para pestañas diferentes. Y más adecuado en caso de que se agreguen nuevas pestañas en el futuro.
Tenga en cuenta que este evento se tabPage1
si el formulario se carga y tabPage1
se abre de manera predeterminada.
Para comprobar si una página de pestañas específica es la página seleccionada actualmente de un control de pestañas es fácil; solo use la propiedad SelectedTab del control de pestañas:
if (tabControl1.SelectedTab == someTabPage)
{
// Do stuff here...
}
Esto es más útil si el código se ejecuta basándose en algún evento que no sea la página de pestañas seleccionada (en cuyo caso, SelectedIndexChanged sería una mejor opción).
Por ejemplo, tengo una aplicación que usa un temporizador para sondear cosas regularmente a través de una conexión TCP / IP, pero para evitar el tráfico innecesario de TCP / IP, solo sondeé las cosas que actualizan los controles de la GUI en la página de pestañas seleccionada actualmente.
Por alguna razón, lo anterior no funcionaría para mí. Esto es lo que hizo:
if (tabControl.SelectedTab.Name == "tabName" )
{
.. do stuff
}
donde tabControl.SelectedTab.Name es el atributo de nombre asignado a la página en el tabcontrol.
Suponiendo que está mirando en Winform, hay un evento SelectedIndexChanged
para la pestaña
Ahora en él puede verificar su pestaña específica y continuar con la lógica
private void tab1_SelectedIndexChanged(object sender, EventArgs e)
{
if (tab1.SelectedTab == tab1.TabPages["tabname"])//your specific tabname
{
// your stuff
}
}
en .Net 4 puede usar
if (tabControl1.Controls[5] == tabControl1.SelectedTab)
MessageBox.Show("Tab 5 Is Selected");
O
if ( tabpage5 == tabControl1.SelectedTab)
MessageBox.Show("Tab 5 Is Selected");