2017-12-04 7 views
-1

写真、それが押される前と後:https://imgur.com/a/cVqy2ボタン遺跡ハイライトされた後にクリックされたC#の(Windowsフォーム)ボタンの

そのフォームが閉じているときに新しいフォームを開くをクリックし、スタッフが起こる、とされるボタン、ボタンが濃いグレーに変わります。私はこれが起こることを望んでいない。ボタンを明るい灰色の色にしておきたい。

ヘルプ?

私はメトロスタイルのボタンを使用しています。短い、

最初のステップでOPは、彼はまた、いくつかの他の場所でそれを見つけたと言ういくつかの他の場所に次のコードを見つけ

+2

これはWPFまたはWinFormsのであれば明確にしてください。「Metroスタイルのボタン」のいずれかの非常にわかりやすいではありません。 – Dai

+0

ポスト「新しいフォームを開く」というコード。 –

+0

多分uはトグルボタンを使用する必要があります。私たちは見ていけませんあなたのコードは悲しいことに。 – Ugur

答えて

0

...

: コピーし、新しい静的クラスを作成します。次のコード:

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であなたのボタンに名前を付けます。例えば:あなたのプロジェクトで

<Button x:Name="myPreciousButton" /> 

、あなたはボタンがライトグレー(または任意のデフォルトのスタイルに)を有効にするたび、再び、呼び出し:

myPreciousButton.Refresh(); 

をあなたは、フォームを閉じるには、それを呼び出すことができ、もしあなたはそれが終わるときを知っています。または、ボタンをクリックした直後かもしれません。または、2番目のフォームが閉じた後、最初のフォームがフォーカスを取得した後。多くのオプションがあります。

この問題を解決するには十分ではない場合や、この問題を解決するのに悩まされない場合は、簡単な解決策があります。 もう一度、名前にボタンを付けます。 「 あなたは、その色をデフォルトに戻したい、線に沿って型何か:

myPreciousButton.Background = Brushes.LightGrey 

していないが、テキストの色を変更する方法がわから、私はそれについて考えることを気にすることはできません。)

幸運

関連する問題