質問: button2.BackColor; button1.Enabled ^= true; button2.Enabled ^= true; } ``` としてbutton3を押してbutton1/button2のEnabledを切り替えてもbutton1の背景色は変わらず、更にtrue/falseどちらの状態でもbutton1とbutton2で色が異なります。 ![ボタンの色が異なる](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/bb42cc9bfc047fcd2dee07f525464ed7.png) button1のBackColorを変更しただけなので、button1のBackColorにしかるべき値を設定すればbutton2と同じ振る舞いになって欲しいのですが... どんな値を設定すればbutton1とbutton2の色を同じに出来る(button1を変更前に戻せる)のでしょうか。 ご存知の方、教えていただければと思います。
回答: ご質問の現象は私も知らなかったのでつい調べてしまったのですが、まんま同じ質問がStack overflowにありましたのでご案内します。 How to reset to default button BackColor? 要は、button1を元(デフォルト)の色に戻すときに`Button.UseVisualStyleBackColor`プロパティを`true`にする必要があります。 ``` //button1.BackColor = default(Color); //button2のBackColorをもって元の色とする button1.BackColor = button2.BackColor; button1.UseVisualStyleBackColor = true; ``` 当方の環境、Windows 7とWindows 10、.NET Framework 4.7.1 のプロジェクトで試した限りではこれで元に戻り、enable/disableもOKでした。 `Button.UseVisualStyleBackColor`はもともと`true`なのですが、`Button.BackColor`に新しい値をセットすると同時に`false`になってしまうので、`true`に戻す必要がありました。