在我决定使用以下代码扩展非客户区之后,我的项目中的表单似乎有一些问题:
<Runtime.InteropServices.StructLayout(Runtime.InteropServices.LayoutKind.Sequential)> Public Structure Side
Public Left As Integer
Public Right As Integer
Public Top As Integer
Public Bottom As Integer
End Structure
<Runtime.InteropServices.DllImport("dwmapi.dll")> Public Shared Function DwmExtendFrameIntoClientArea(ByVal hWnd As IntPtr, ByRef pMarinset As Side) As Integer
End Function
Try
Me.BackColor = Color.Black
Dim Side As Side = New Side
Side.Left = -1
Side.Right = -1
Side.Top = -1
Side.Bottom = -1
Dim result As Integer = dwmExtendFrameIntoClientArea(Me.Handle, Side)
Catch ex As Exception
End Try
代码并不准确,只是希望它可以帮助更好地理解我试图完成的工作。我现在遇到的问题是黑色现在被用作航空的透明度。一些本应为黑色的文本颜色现在反映了当前航空颜色主题的颜色,如您在示例中所见,以及其他颜色问题,例如文本突出显示颜色。
扩展非客户区是项目的重要组成部分,所以我不能偏离太多。无论如何,我可以尝试为其他类似的事情或其他解决方案指定一个颜色集来解决这个问题?我对插手与航空有关的形式有点模糊。谢谢!