0

我有一个winforms应用程序。主窗体有一些按钮可以在单击时打开其他窗体。

有一个表单我想禁用视觉样式/主题。我也想为其子级禁用视觉样式。可能吗?如果有怎么办?

例如,假设我在主窗体上有三个按钮:

  • Button1form1点击打开
  • Button2form2点击打开
  • Button3form3点击打开

因此,当我单击时,我Button2只想禁用其上的视觉样式,但我想保持为表单启用视觉样式:form1form3.

4

1 回答 1

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();
于 2017-04-03T20:24:43.060 回答