关于Winform中Tabcontrol的高级问题(新人没分,大家别嫌弃我,将来一定补)
就进在工作中遇到了这么个问题:在使用Tabcontrol的时候,当TabPage超过TabControl的宽度时,会出现 向左和向右 两个按钮来选择TabPage, 但是这两个Page的Size无法设置,当我调整TabPage的Size时(特别是高度),这两个按钮依然不变,十分的难看,我尝试过重画,但是无法找到重画这两个按钮的方法,甚至连这两个按钮是什么都不知道,也没有关于这两个按钮的事件。
所以请各位高手帮忙解答一下,小弟无胜感激
PS:由于工作需要,Win32的API函数被禁用。 --------------------编程问答-------------------- ding!!!!!!!!!!!!!!! --------------------编程问答-------------------- 帮顶,完全没用过Tabcontrol, --------------------编程问答-------------------- 微软没有提供这两个按钮的操作方法,这可能就是他们给我们这些开发者划定的禁区。
现在看到开源的好处了 --------------------编程问答-------------------- TabPage的宽度怎么会超过TabControl呢?
你的意思是不是说,TabPage的Text太长,无法同时完全显示?
如果是的话,显示方式是水平还是垂直?
假设是水平,调节高度是没用的。
如果你的TabControl的宽度不能调整,TabPage的Text长度也不能调整,
那可以设置一下SizeMode(配合ItemSize)。
或者Multiline设为True。
这些方法都能让那两个按钮消失。 --------------------编程问答-------------------- 这貌似得找微软解决了 --------------------编程问答-------------------- Multiline 属性设为true --------------------编程问答-------------------- TabPage的宽度怎么会超过TabControl呢?
你的意思是不是说,TabPage的Text太长,无法同时完全显示?
如果是的话,显示方式是水平还是垂直?
假设是水平,调节高度是没用的。
如果你的TabControl的宽度不能调整,TabPage的Text长度也不能调整,
那可以设置一下SizeMode(配合ItemSize)。
或者Multiline设为True。
这些方法都能让那两个按钮消失。 --------------------编程问答--------------------
向左和向右两个按钮是在超过宽度时才出现的,这说明你设计的tabpage数量太多了,因为每个tabpage的名称都要有一定的宽度,就像用listbox一样,当显示的item高度总和超过listbox设计高度时,就会出现下拉框,而tabcontrol的这两个方向键也就是这个功能.这两个功能键在设计时和程序运行时都可以使用,不影响tabpage本身的设置,只是隐藏了超出的选项卡.
如果不愿意像楼上的使用多行选择项卡,那么可以左边弄个treeview,右边用tabcontrol,先隐藏所有的tabpage,点击一个treeview的节点就相应的显示一个同名的tabpage --------------------编程问答-------------------- Multiline --------------------编程问答-------------------- 问题是,我们是做中间键的,式样不是我们说了算,不能使用Multiline,简单点说就是,当我们改变了ItemSize的Height时,如何让翻页按钮的大小也随之改变,现在微软的翻页大小是按照Tabcontrol的字体设置的。 --------------------编程问答-------------------- 那两个按钮是一个msctrls_updown32控件,
你可以试试在改变ItemSize之后设置它的大小。
不过如果规定不能直接用api,就不知道怎么办了。
补充:.NET技术 , C#