怎么把TabControl中的一个Tab页设为不可用(急!!)

时间:2021-08-24 08:04:13
我要实现不能选中某一个tab页,怎样能把这页的状态设为不可用?

18 个解决方案

#1


LG

#2


一个笨办法……在选中以后换成以前的页面

private int tmp=0;

private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e)
{
    if(tabControl1.SelectedIndex==2) 

tabControl1.SelectedIndex=tmp;

    tmp=tabControl1.SelectedIndex;
}

#3


谢谢,这种办法我也知道,但是不能满足我的要求,必须把一页变成不可用,还有什么好办法吗?

#4


自己顶

#5


呵呵,这个小弟也想知道,有牛人告之吗?

#6


tabpage1.Enable = false;

#7


老大,tabpage1没Enable这个属性

#8


让鼠标放不上去可以么?

private void tabControl1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(e.X>=2*tabControl1.ItemSize.Width && e.X<=3*tabControl1.ItemSize.Width && e.Y>=0 && e.Y<=tabControl1.ItemSize.Height)

Cursor.Position=new Point(Cursor.Position.X+tabControl1.ItemSize.Width,Cursor.Position.Y);

}

不然去找屏蔽鼠标点击的API把里面那句换掉

不过就算这样,还需要屏蔽键盘事件,tabControl是可以用键盘左右来选择页面的

#9


最好是灰掉它

#10


界面上变灰很好办阿,把标签项全部都用图片Imagelist来显示,图片换来换去就可以了
主要是从功能上要控制不能选到

也不知道微软搞什么,这样一个控件居然标签没有Enable属性,搞得这么麻烦

#11


呵呵,有道理
不过,我觉得应该有更好的方法

#12


有ENABLE 这个属性.只是没有查到而已.

tabControl1.TabPages[1].Enabled= true; 

在给你一个网址:
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfsystemtextstringbuilderclasstopic.asp

#13


谢谢。确实有ENABLE 这个属性,但这个属性是灰掉Tab页的工作区,不是我想要的
我需要时Tab页的标签不能用,就是不能选中某一页

#14


up

#15


这样的话,只能用代码来实现了,
在TabControl1.SelectedIndexChanged里做判断,那些TABPAGE不可选中.

#16


我的应用不允许Tab页翻过去再翻回来,必须根本就不能翻过去
还有什么办法吗?

#17


我也遇到这个问题,我是这么解决的,把这个选项页移除了
Controls.Remove(tabPage_Server);
用它的时候再加过来

#18


最后还是使用了先移除后添加的办法,谢谢各位
结帖!

#1


LG

#2


一个笨办法……在选中以后换成以前的页面

private int tmp=0;

private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e)
{
    if(tabControl1.SelectedIndex==2) 

tabControl1.SelectedIndex=tmp;

    tmp=tabControl1.SelectedIndex;
}

#3


谢谢,这种办法我也知道,但是不能满足我的要求,必须把一页变成不可用,还有什么好办法吗?

#4


自己顶

#5


呵呵,这个小弟也想知道,有牛人告之吗?

#6


tabpage1.Enable = false;

#7


老大,tabpage1没Enable这个属性

#8


让鼠标放不上去可以么?

private void tabControl1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(e.X>=2*tabControl1.ItemSize.Width && e.X<=3*tabControl1.ItemSize.Width && e.Y>=0 && e.Y<=tabControl1.ItemSize.Height)

Cursor.Position=new Point(Cursor.Position.X+tabControl1.ItemSize.Width,Cursor.Position.Y);

}

不然去找屏蔽鼠标点击的API把里面那句换掉

不过就算这样,还需要屏蔽键盘事件,tabControl是可以用键盘左右来选择页面的

#9


最好是灰掉它

#10


界面上变灰很好办阿,把标签项全部都用图片Imagelist来显示,图片换来换去就可以了
主要是从功能上要控制不能选到

也不知道微软搞什么,这样一个控件居然标签没有Enable属性,搞得这么麻烦

#11


呵呵,有道理
不过,我觉得应该有更好的方法

#12


有ENABLE 这个属性.只是没有查到而已.

tabControl1.TabPages[1].Enabled= true; 

在给你一个网址:
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfsystemtextstringbuilderclasstopic.asp

#13


谢谢。确实有ENABLE 这个属性,但这个属性是灰掉Tab页的工作区,不是我想要的
我需要时Tab页的标签不能用,就是不能选中某一页

#14


up

#15


这样的话,只能用代码来实现了,
在TabControl1.SelectedIndexChanged里做判断,那些TABPAGE不可选中.

#16


我的应用不允许Tab页翻过去再翻回来,必须根本就不能翻过去
还有什么办法吗?

#17


我也遇到这个问题,我是这么解决的,把这个选项页移除了
Controls.Remove(tabPage_Server);
用它的时候再加过来

#18


最后还是使用了先移除后添加的办法,谢谢各位
结帖!