VB.NET中tabcontrol控件的疑问

zzz365zz 2011-06-08 11:11:00
举例说明
一个tabcontrol控件由3个TAB页构成,分别是TAB1,TAB2,TAB3
在vb6中TAB页得标题即TAB1,TAB2,TAB3平均分配该tabcontrol控件的宽度。

但是在vb.net(2010)中标题不是平均分配的

我现在想实现与VB6一样的样式,应该怎么办呢?我是一个新手。请大家详细说明下
如果有例子就更好了,谢谢。。。。。。。

...全文
341 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzz365zz 2011-06-09
  • 打赏
  • 举报
回复
TAB页名字:▲▲
TAB控件:----------------
例子一:有三个TAB页
vb.net中现在效果如下

▲▲ ▲▲ ▲▲
-----------------

期待结果如下(名字平均分配TAB控件的宽度)

▲▲ ▲▲ ▲▲
-----------------

现在问题是TAB页的标题名字不是固定的,不可能通过调SIZE来实现
zzz365zz 2011-06-09
  • 打赏
  • 举报
回复
忘记说了,TAB页的标题名字不是固定的,是动态的
cnuser1 2011-06-09
  • 打赏
  • 举报
回复
有图片吗?我可以告诉你VB.NET的UI一定比VB6强,调整相关宽度属性就OK了。
zzz365zz 2011-06-09
  • 打赏
  • 举报
回复
非常感谢,问题解决了
cosmo_sei 2011-06-09
  • 打赏
  • 举报
回复
Dim pageWidth As Integer = totalWidth / pageCount - 1
最后-1我偷工减料了,得根据margin的具体值来判断
cosmo_sei 2011-06-09
  • 打赏
  • 举报
回复
最后一行
Me.TabControl1.ItemSize = New Size(pageWidth, Me.TabControl1.ItemSize.Height)
cosmo_sei 2011-06-09
  • 打赏
  • 举报
回复
.net winform里这个tabcontrol默认就是用适合标题的标签宽度,还真没属性设置。

不过代码实现是容易的。


'这个Fixed设置是必须的
Me.TabControl1.SizeMode = TabSizeMode.Fixed

'设置标签宽度
Dim totalWidth As Integer = Me.TabControl1.Width
Dim pageCount As Integer = Me.TabControl1.TabPages.Count

'最后-1 因为tabcontrol有留margin,得空出margin的空间
Dim pageWidth As Integer = totalWidth / pageCount - 1

'ItemSize在SizeMode = TabSizeMode.Fixed才生效
Me.TabControl1.ItemSize = New Size(width, Me.TabControl1.ItemSize.Height)

16,549

社区成员

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

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