我有一个winforms
C#
打开多个对话框的应用程序。为了适应应用程序的风格,我删除了每个窗口的默认标题栏并创建了自己的标题栏(带有控制按钮和拖动移动功能)。
现在面临的问题是,如果没有标题栏,当手动将它们分开时,用户无法分辨哪个窗口是“活动”窗口(因此它们不会重叠)。
在任何 Windows 应用程序(使用标题栏)中,当您尝试从对话框导航回主程序时(不关闭对话框) - 它不会让您这样做。对话框的边框闪烁,您会听到 Windows 错误声音。某种等效的视觉反馈会很棒,而无需使用默认标题栏 - 并且将整个窗口着色为更暗似乎可以很好地解决问题。
类似这样的伪代码,可以在打开对话框时很好地着色父窗口:
// tint window now
window.ShowDialog();
// un-tint window
我试图放置一个面板,覆盖所有颜色设置为“透明”的面板(目的是稍后控制面板的不透明度),但透明度似乎不起作用。实现这一目标的任何其他想法?或者有没有人有更好的建议来实现相同水平的视觉反馈?
摘要:有没有办法给整个窗口着色,或者用颜色覆盖它?如果没有,任何人都可以建议一种使窗口显示为“非活动”的替代方法吗?