我在VB.NET中遇到一个左对齐TabControl的奇怪行为。屏幕截图:
我想要的是有标签字面上相同的方式,他们将是如果旋转90度向左。这和我没有使用标准的XP主题有什么关系吗?有什么解决方案可以让它工作吗?(即使很难,但我不想要一个风格迥异的控件,我希望程序看起来一致)谢谢!
ac1kyiln1#
好了,我解决了这个问题,如果其他人也有同样的问题,用this control吧,它是MIT授权免费的,作者截图:
注意,作者做了两个控件。我的建议是:第二个对cleartype的支持不正确(它在子像素着色后旋转),但是它更容易使用,并且有更好的填充控制。
EDIT如果您使用C++并且需要它,那么有一种方法。结果图片:alt text http://www.codeguru.com/dbfiles/get_image.php?id=6385&lbl=CXPTABCTRL_GIF&ds=20040309
作者非常描述了他是如何做到这一点的,这是很好的,例子:
(来源:codeguru.com)
**This**是文章的链接。
另一个非常好的方法是SkyBound的多用途VisualStyles组件。看起来二进制文件是免费的,但源代码不是,非常公平的交易。我稍后会检查它,但如果你需要一些VisualStyles bug修复,它似乎是一个选择。
(来源:skybound.ca)作者:
检查作者提供的this.和more。问题解决!!=D
ulmd4ohb2#
是的,这是选项卡控件的视觉样式呈现器中的一个错误。看起来你已经找到了替代品。另一个影响较小的方法是选择性地禁用控件的视觉样式。它将恢复为战舰灰色,正确地绘制垂直选项卡。选项卡页面内容仍将正确呈现。
using System; using System.Windows.Forms; using System.Runtime.InteropServices; public class FixedTabControl : TabControl { [DllImportAttribute("uxtheme.dll")] private static extern int SetWindowTheme(IntPtr hWnd, string appname, string idlist); protected override void OnHandleCreated(EventArgs e) { SetWindowTheme(this.Handle, "", ""); base.OnHandleCreated(e); } }
2条答案
按热度按时间ac1kyiln1#
好了,我解决了这个问题,如果其他人也有同样的问题,用this control吧,它是MIT授权免费的,作者截图:
注意,作者做了两个控件。我的建议是:第二个对cleartype的支持不正确(它在子像素着色后旋转),但是它更容易使用,并且有更好的填充控制。
EDIT如果您使用C++并且需要它,那么有一种方法。结果图片:alt text http://www.codeguru.com/dbfiles/get_image.php?id=6385&lbl=CXPTABCTRL_GIF&ds=20040309
作者非常描述了他是如何做到这一点的,这是很好的,例子:
(来源:codeguru.com)
**This**是文章的链接。
另一个非常好的方法是SkyBound的多用途VisualStyles组件。看起来二进制文件是免费的,但源代码不是,非常公平的交易。我稍后会检查它,但如果你需要一些VisualStyles bug修复,它似乎是一个选择。
(来源:skybound.ca)
作者:
检查作者提供的this.和more。
问题解决!!=D
ulmd4ohb2#
是的,这是选项卡控件的视觉样式呈现器中的一个错误。看起来你已经找到了替代品。另一个影响较小的方法是选择性地禁用控件的视觉样式。它将恢复为战舰灰色,正确地绘制垂直选项卡。选项卡页面内容仍将正确呈现。