单击c#后,按钮仍然突出显示(窗体)

时间:2017-12-04 23:48:00

标签: c# wpf winforms

按下按钮之前和之后的图片:https://imgur.com/a/cVqy2

单击的按钮会打开一个新表单,会发生一些事情,当该表单关闭时,该按钮将变为深灰色。我不希望这种情况发生。我希望按钮保持浅灰色。

帮助?

我正在使用地铁样式按钮。

1 个答案:

答案 0 :(得分:0)

在其他地方找到以下代码,其中OP说他也在其他地方找到了它......

简而言之,

第一步: 创建一个新的静态类,复制以下代码:

public static class ExtensionMethods
{
   private static Action EmptyDelegate = delegate() { };

   public static void Refresh(this UIElement uiElement)
   {
      uiElement.Dispatcher.Invoke(DispatcherPriority.Render, EmptyDelegate);
   }
}

同时添加

使用System.Windows.Threading;

在课堂上

第二步: 在xaml中为您的按钮命名。 e.g:

<Button x:Name="myPreciousButton" />

在您的项目中,只要您希望按钮再次变为浅灰色(或任何默认样式),请致电:

myPreciousButton.Refresh();

如果你知道什么时候关闭,你可以在关闭表单上调用它。或者也许就在你点击按钮后。或者在第一个表单获得焦点后,第二个表单关闭后。有很多选择。

如果不起作用或者你永远不会被打扰到实现这个东西,那么这是一个更简单的解决方案: 再次,给你的按钮一个名字,例如&#34; 如果希望其颜色返回默认值,请在行中键入内容:

myPreciousButton.Background = Brushes.LightGrey

虽然不知道如何改变文字的颜色,但我不能去考虑它;)

祝你好运