WINFORM中的TabControl如何使其中的某個Tab無效(即不允許選中)? 求解:WINFORM中的TabControl如何使其中的某個Tab無效(即不允許選中)? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在如下的事件中可以通过e.Cancel来达到要求:private void tabControl1_Deselecting(object sender, TabControlCancelEventArgs e){ e.Cancel = true;} TabControl.Deselecting 事件 注意:此事件在 .NET Framework 2.0 版中是新增的 我是在net 1.1下,我的问题修改一下:WINFORM中的TabControl如何使其中的某個Tab有效(即不允許選中),其余的使之无效? 试试这样:private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e){ if (this.tabControl1.SelectedTab!=tabPage2) { this.tabControl1.SelectedTab=tabPage2; }} 我的想法是 把不用的都保存起来 然后需要的时候再显示出来通过add 和 remove 方法实现例如private void Form2_Load(object sender, System.EventArgs e){mtabp = new TabPage();mtabp = this.tabControl1.TabPages[1];this.tabControl1.TabPages.RemoveAt(1);}private void button1_Click(object sender, System.EventArgs e){this.tabControl1.TabPages.Add(mtabp);} 试试这样:private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e){ if (this.tabControl1.SelectedTab!=tabPage2) { this.tabControl1.SelectedTab=tabPage2; }}这个方法,可以行通。但误选别的tabpage时会闪一闪的。我再试试“jiatong1981(末日之痕) ”的~ 继承是最好的方法,把事件链咔嚓掉。不过我觉得既然不允许选中,为何要存在呢?应该考虑把这个page移出。比如你设置多种tabcontrol的方案。即把page的加载延迟到formload的时候。 我的原意是:通过点[菜单]的子选项,从而列出该子菜单的tabpage,其余的tabpage不显示或者是成灰色的(不能选中的状态)。 楼主的这个问题在1.1中是不不足,只能通过一些变通的方法来实现.由于这个原因在2.0里已对这个问题有了解决的方法,就是通过事件Deselecting来达到这个目的. 和TabControl.Selecting 事件也是2.0中新增的.在2.0也可以用这个方法.但1.1中只能是变通了. 谢谢,jiatong1981(末日之痕) 你说的方法,因为我已经在tabControl属性中添加了8个tabpage,所以没有再用mtabp = new TabPage();mtabp = this.tabControl1.TabPages[1];赋值:但当我不停的点某个子菜单,会不停的增加同一个tabpage啊!而且,tabpage的内容为空 呵呵,看了很多关于这个问题的解决方法,我现在采取用空百lable来隐藏别的tabpage,希望大家以后能找到更好的方法替代。非常感谢大家 看来你没理解意思哦就是用mtabp来存储你在代码设计器里设计好的tabpage啊以便在removeat后可以恢复 for循环里的一个问题,请教大家 udp如何将IList发送到客户端 疯了,疯了!当前上下文不存在名称 如果把这个计数器放到网站里 如何实现byte数组之间指定位置的拷贝? 奇怪的存取过程执行问题,大家帮忙啊!! 在线... 用按钮引发的click事件,与菜单引发的click事件有什么不同 CSC.EXE编译器错误 CS0009 如何解决? c#winform中对treeview的节点后面添加一个textbox控件,在选择该节点时可以输入内容,并且可以折叠 关于调用windows系统自带的打印接口时无法实现打印张数控制 怎样通过代理在B类中直接执行A类中的一个方法 多表查询的小问题。
{
e.Cancel = true;
}
注意:此事件在 .NET Framework 2.0 版中是新增的
我的问题修改一下:WINFORM中的TabControl如何使其中的某個Tab有效(即不允許選中),其余的使之无效?
private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e)
{
if (this.tabControl1.SelectedTab!=tabPage2)
{
this.tabControl1.SelectedTab=tabPage2;
}
}
通过add 和 remove 方法实现例如
private void Form2_Load(object sender, System.EventArgs e)
{
mtabp = new TabPage();
mtabp = this.tabControl1.TabPages[1];
this.tabControl1.TabPages.RemoveAt(1);
}private void button1_Click(object sender, System.EventArgs e)
{
this.tabControl1.TabPages.Add(mtabp);
}
private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e)
{
if (this.tabControl1.SelectedTab!=tabPage2)
{
this.tabControl1.SelectedTab=tabPage2;
}
}
这个方法,可以行通。但误选别的tabpage时会闪一闪的。我再试试“jiatong1981(末日之痕) ”的~
比如你设置多种tabcontrol的方案。即把page的加载延迟到formload的时候。
jiatong1981(末日之痕) 你说的方法,因为我已经在tabControl属性中添加了8个tabpage,所以没有再用mtabp = new TabPage();
mtabp = this.tabControl1.TabPages[1];赋值:
但当我不停的点某个子菜单,会不停的增加同一个tabpage啊!而且,tabpage的内容为空
非常感谢大家