Hace un tiempo me pusieron la tarea de ocultar una pestaña de un tab (un TabPage) cuando deschequiaran o mostrarlo cuando chequiaran un chekBox; entonces fue cuando me di cuenta que la propiedad Hide no sirve para nada. Y me puse a buscar como hacer esto, di con la pagina de Microsoft donde en la parte de comentarios dice “el método
Hide de
TabPage no ocultará la ficha. Para ocultar la ficha, debe quitar el control
TabPage de la colección
TabControl.TabPages”.
Asi que está es la forma como se oculta un Tab de un control Tab en C#:
if(chkimpresion.Cheked)
{
tabControl1.TabPages.Add(Impresion);//Impresión es el nombre que le dí al tab cuando lo cree. Y aquí lo muestro.
}
else
{
tabControl1.TabPages.Remove(Impresion);//Aquí se oculta.
}
Link
http://msdn.microsoft.com/es-es/library/system.windows.forms.tabpage(VS.80).aspxEspero les sirva.
Asi es mas fácil:
ResponderEliminarpara probar en un boton:
private void button4_Click(object sender, EventArgs e){
if (this.Text=="Oculta"){
tabPage7.Parent = null;
this.Text = "Muestra";
}
else
{
tabPage7.Parent = tabControl1;
this.Text = "Oculta";
}
perdon mi tabcontrol tiene 7 tabs, pero lo pueden reemplazar por un nombre especifico
ResponderEliminaren el load del formulario poner
Eliminarprivate void data_aplicar_examencalificar_Load(object sender, EventArgs e)
{
P1.Visible = false;
}
Luego con un boton realizo lo siguiente:
private void btn_pasaraexamen_Click(object sender, EventArgs e)
{
P1.Visible = true;
P1.TabPages.Remove(TAB_02);
P1.TabPages.Remove(TAB_03);
P1.TabPages.Remove(TAB_04);
P1.TabPages.Remove(TAB_05);
P1.TabPages.Remove(TAB_06);
P1.TabPages.Remove(TAB_07);
P1.TabPages.Remove(TAB_08);
P1.TabPages.Remove(TAB_09);
P1.TabPages.Remove(TAB_10);
P1.TabPages.Remove(TAB_11);
P1.TabPages.Remove(TAB_12);
P1.TabPages.Remove(TAB_13);
P1.TabPages.Remove(TAB_14);
P1.TabPages.Remove(TAB_15);
P1.TabPages.Remove(TAB_TOTAL);
P1.TabPages.Remove(TAB_MODIFICAR);
P1.TabPages.Remove(TAB_ELIMINAR);
}
Saludos...
execelente si funciona!!!
ResponderEliminarlo de anonimo!!!
hey tengo un problema tengo varios tabcontrol y quiero que en cada una me aparesca un report diferente cual es la forma!!!
ResponderEliminarTodo depende del reporteador que estas utilizando o del tipo de reporte que quiera mostrar, la forma mas fácil y simple es agregando un control de reporte a cada tab, y no es complicado, ya que cada control de reporte se comporta independiente de cada tab. en realidad no creo si entendí bien la pregunta, creo que necesita ser mas especifico.
ResponderEliminarGRANDEE MANN MUCHAS GRACIASS ME SIRVIO DE MUCHO
ResponderEliminarmuy buen aporte
ResponderEliminarGracias al anonimo del primer comment, despues de tanto tiempo, al fin pude hacerlo...
ResponderEliminarexcelente amigo
ResponderEliminarprivate void btn_pasaraexamen_Click(object sender, EventArgs e)
ResponderEliminar{
P1.Visible = true;
P1.TabPages.Remove(TAB_02);
P1.TabPages.Remove(TAB_03);
P1.TabPages.Remove(TAB_04);
P1.TabPages.Remove(TAB_05);
P1.TabPages.Remove(TAB_06);
P1.TabPages.Remove(TAB_07);
P1.TabPages.Remove(TAB_08);
P1.TabPages.Remove(TAB_09);
P1.TabPages.Remove(TAB_10);
P1.TabPages.Remove(TAB_11);
P1.TabPages.Remove(TAB_12);
P1.TabPages.Remove(TAB_13);
P1.TabPages.Remove(TAB_14);
P1.TabPages.Remove(TAB_15);
P1.TabPages.Remove(TAB_TOTAL);
P1.TabPages.Remove(TAB_MODIFICAR);
P1.TabPages.Remove(TAB_ELIMINAR);
}