vs2003下 关于 TabControl得控制的问题

明缘 2008-06-03 09:04:56
现在有一个 Form 里面 有一个 ComboBox 里面有五个数据 一个 TabControl分成4个Tab页面 现在 想要做到的是 当ComboBox里面选中 某一个特殊的
数据时 比如2时 要求TabControl得选项卡 自动定位到第一个选项上,并且 其它的Tab页不可用,就是 不可以选择。只有第一个可用。
...全文
173 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jin_ok 2008-06-17
  • 打赏
  • 举报
回复
先把你的tabcontrol控件的tab页按钮隐藏,在form_load事件中写三行代码
Dim size As New Size(0, 1)
Me.Tabcontrol1.SizeMode = TabSizeMode.Fixed
Me.Tabcontrol1.ItemSize = size
然后
if ComboBox.text="2"
Me.Tabcontrol1.SelectedIndex =0
end if
明缘 2008-06-17
  • 打赏
  • 举报
回复
你说的也有道理!
llsus 2008-06-13
  • 打赏
  • 举报
回复
谢谢楼主把方法拿来分享,我那么说只是希望你明白,不是所有事情都是一定要怎么做的,这也不是写程序的方法,一个程序员最起码的要求就是会变通,只要实现功能即可。有些可能是不会,有些可能根本就做不到,或者说花费大量的时间来实现根本就不值得。认死理,你做不好一个程序员。看样子估计你写程序可能没两三年,如果写程序超过5年,你就会明白我的意思了。当然,你分享的代码还可以值得支持的,我和大家一样,来这里不是因为自己什么都会,专门给别人解决问题的,也是来学习的,很多东西都不会,这很正常,大家相互取长补短才能共同进步。如果我说话的方式你不能接受,那么我道歉;我说的话,听不进去,你可以无视,但我不会收回我说的话,因为我认为我说的是对的。
明缘 2008-06-13
  • 打赏
  • 举报
回复
问题我已经解决 贴出来 与大家 共享。VS2005下的解决方案。VS2003下的是另外一种方案因为Selecting是FrameWork2.0才有的方法。
有人需要 我可以提供。
private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
{
if (e.TabPageIndex != comboBox1.SelectedIndex)
{
e.Cancel = true;
}
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex == 0)
{
tabControl1.SelectedIndex = 0;
}
else if (comboBox1.SelectedIndex == 1)
{
tabControl1.SelectedIndex = 1;
}
}

TO:llsus
希望你说话以后 注意点 自己没有什么水平不要乱说 好不好,解决不了,可以发表看法,但是说什么 乱七八糟的。
别人提出问题 当然是有自己的理由,你解决不了 就说别人。RP 太差了阿!什么素质阿!
你不会不是你的错,但是 出来乱说话就不好了。素质真差!
明缘 2008-06-03
  • 打赏
  • 举报
回复
如果真的没有的话,可不可以 想一个办法让它 ComboBox得值为2的时候 鼠标在 TabControl区域 不可用呢,最好 可以设置成不可用状态。
明缘 2008-06-03
  • 打赏
  • 举报
回复
up
yanlongwuhui 2008-06-03
  • 打赏
  • 举报
回复
TabControl1.SelectedIndex = 0 ' 选中第一个选项
[Quote=引用 1 楼 llsus 的回复:]
好像没有这个方法啊,只能让某个TabPage的工作区不可用,无法实现不可切换TabPage,因为通过点击切换TabPage的那个头是属于TabControl的,不属于TabPage,那是一个整体,只有修改TabControl的源码才能实现吧(我个人看法),你最好是把不让选的TabPage Remove掉,要用时再添加进来。
[/Quote]
把选项页先移除, Controls.Remove(tabPage1), 用它的时候再加过来
llsus 2008-06-03
  • 打赏
  • 举报
回复
好像没有这个方法啊,只能让某个TabPage的工作区不可用,无法实现不可切换TabPage,因为通过点击切换TabPage的那个头是属于TabControl的,不属于TabPage,那是一个整体,只有修改TabControl的源码才能实现吧(我个人看法),你最好是把不让选的TabPage Remove掉,要用时再添加进来。
llsus 2008-06-03
  • 打赏
  • 举报
回复
有一点我就看不懂了,你写程序是了什么什么?难道不按你说的这样,这个程序就不能用?你这样的程序员,有一天要累死的。

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧