【问题标题】:Windows 8, Form without titlebar, Override border colorWindows 8,没有标题栏的窗体,覆盖边框颜色
【发布时间】:2014-07-15 13:58:52
【问题描述】:

我创建了一个表单并通过将ControlBox 属性设置为false 并将Text 属性设置为“”来禁用标题栏。 FormBorderStyle 属性是相当大的。 这是表单的设计器代码:

'
'frmParameters
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.DeepSkyBlue
Me.ClientSize = New System.Drawing.Size(284, 261)
Me.ControlBox = False
Me.Name = "frmParameters"

表单被创建为 MDI-Child。下图显示了结果(表单处于活动状态):

如您所见,表单的边框颜色为深灰色。这不适合我的应用程序的主题。 我相信这个颜色是由当前的 Windows 主题设置的。当表单处于非活动状态时,边框颜色为浅蓝色。 有没有办法覆盖这些颜色设置?我自己无法真正绘制边框,因为它在客户区之外,并且我不想将 Borderstyle 设置为任何固定状态,因为表单应该仍然是相当大的。

非常欢迎 VB.NET 和 C# 的答案。

这是在 Windows 8.1 中运行的。它是一个 WinForms 应用程序。

解决方法 1
由于未激活的颜色非常适合我的主题,我尝试在 MDI 应用程序中禁用子窗体的激活。 我通过创建大小为 1,1 的 ghostform 来实现这一点,然后处理主窗体的 MDIChildActivated 事件:

Private Sub frmMain_MdiChildActivate(sender As Object, e As EventArgs) Handles MyBase.MdiChildActivate
    frmGhost.Activate()
End Sub

这将阻止其他表单处于活动状态,但这是一个相当肮脏的 hack。有没有更好的办法?设置Selectable 样式并不能阻止它。

【问题讨论】:

    标签: c# vb.net winforms forms themes


    【解决方案1】:

    谷歌搜索显示更改表单边框颜色非常困难。

    我能给你的最好的就是:

      Private Sub Form1_Activated(sender As Object, e As EventArgs) Handles Me.Activated
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.Sizable
      End Sub
    
      Private Sub Form1_LostFocus(sender As Object, e As EventArgs) Handles Me.LostFocus
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
      End Sub
    

    边框仅在表单处于活动状态时显示。

    【讨论】:

      【解决方案2】:

      我现在所做的是使用无边框表单并手动添加调整大小功能。

      Custom Resize Handle in Border-less Form C#

      我不会重复整个调整大小的代码,请看链接。

      然后我将表单的边距设置为每边 5,并通过覆盖 OnPaint 自己绘制边框。这足以满足我的需求。

      重要的步骤是将表单的DoubleBufferedResizeRedraw 属性设置为True,以便在覆盖OnPaint 时获得漂亮的重绘。

      【讨论】:

        猜你喜欢
        • 2018-08-14
        • 1970-01-01
        • 2016-04-24
        • 2010-09-10
        • 1970-01-01
        • 1970-01-01
        • 2019-04-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多