我有一个winforms应用程序。主窗体有一些按钮,可以在点击时打开其他窗体。
我想要禁用视觉样式/主题的表单。此外,我想为其孩子禁用视觉样式。可能吗?如果是这样的话?
例如,假设我在主窗体上有三个按钮:
Button1
点击form1
Button2
点击form2
Button3
点击form3
因此,当我点击Button2
时,我只想禁用其中的视觉样式,但我希望为表单启用视觉样式:form1
和form3
。
答案 0 :(得分:0)
您可以使用PInvoke SetWindowTheme执行此操作:
[DllImport("uxtheme.dll")]
private static extern int SetWindowTheme(IntPtr hWnd, string appname, string idlist);
然后例如在button2
事件处理程序中:
var form2 = new Form2();
SetWindowTheme(form2.Handle, "", "");
form2.Show();