使窗口的标题位于标题栏的中间
在我的 Windows 窗体应用程序中,我想将窗体的标题放在其栏(标题栏)的中间,例如: 如果您使用的是 Windows XP 并打开我的电脑,您会在标题栏的左侧找到它,例如,我希望将我的标题放在同一栏的中间
如何?
In My windows form application I want to make the title of the form in the middle of it's bar ( Title bar ) for example :
if you are on windows xp and open your my computer you will find it in the left of the title bar I want for example to make my title in the middle of the same bar
How ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用常规 WinForms 表单属性是不可能实现这一点的。另一方面,您可以创建没有任何边框的表单并自定义绘制自己的边框。这与其他皮肤库非常相似,因此如果您不想编写自己的自定义例程,您可以查看供应商提供的各种皮肤库。
That's not possible using regular WinForms form properties. On the other hand, you can create a form without any border and custom draw your own borders. That will be very much like what other skinning libraries too so you can look into various skinning libs from vendors if you don't want to bother with writing your own custom routines.
基本上有三个选项:
创建一个标题居中的自定义控件和适当的最小化/最大化/关闭按钮。使用没有标题栏的 from,并将自定义控件放在顶部。
使用 GDI+ 绘制标题,并使用表单调整大小事件更新其位置。完全破解,甚至不确定这是否有效。
根据表单的宽度计算标题居中所需的空格数,然后将其插入到标题文本之前。蹩脚的解决方案,但它可以工作并且很容易实现。
There are basically three options:
Create a custom control that has the title centered and the appropriate minimize/maximize/close buttons. Use a from with no title bar and drop your custom control on top.
Use GDI+ to draw the title, and update its position using form resize events. Total hack, not even sure this would work.
Calculate the number of spaces required to center the title based on the width of the form and then insert them before the title text. Lame solution, but it would work and be easy to implement.