【发布时间】:2018-11-02 04:08:01
【问题描述】:
我正在开发一个基于 winform 的应用程序。我只想在标题栏的左侧放置一些超链接,如下图所示,然后添加超链接。在winforms中可以吗?
除了那个 winform 标题栏还有一个标题,如“Happy Days Design Suite”所示
替代解决方案是完全删除标题栏并添加标签,但在此之前我只想检查是否可以将文本添加到标题栏
【问题讨论】:
-
这取决于你有多想要它,让它正确和完美可能有点棘手,因为没有开箱即用的方法来做到这一点,并且需要一定程度的黑客技术
-
一种更简单的方法是隐藏
TitleBar(没有ControlBox、没有MinimizeBox、没有MaximizeBox、没有文本)并构建你自己的TitleBar,带有一个面板和一些按钮和链接标签。您可以使用SystemInformations属性将各个部分设置为正常 大小和颜色。处理系统主题更复杂。平面按钮帮助。 -
@MickyD 嗯,这是最简单的部分。您可以对面板进行自定义控件。覆盖
OnMouseDown和OnMouseMove你甚至不需要PInvokeSendMessage和ReleaseCapture()。系统菜单更复杂。无论如何,如果真的需要的话,可以伪造(是的,我知道,仅键盘的窗口移动变得困难)。否则,您将不得不覆盖WndPrc或转到DWM渲染。 -
我对这类事情的经验是,是的,这一切皆有可能,但如果你没有在所有情况下都做到完全正确和完美,它只会让应用看起来 B 级。你最好把时间花在其他地方。
-
@CodingYoshi,确实,通常 WinForms 桌面应用程序的标题栏中没有链接。但是许多具有丰富 UI 的现代 UWP 桌面应用程序确实在其标题栏中具有链接、按钮甚至文本框。