2016-07-18 15 views
0

myButton1.Enabledの値をtrueに変更すると、この問題が発生します。私はmyButton2.EnabledmyButton1.Enabledと同じ値に設定するために、そのボタンの有効化の値を使用するようにします。自分のbutton.enabledが自分のコードで本当に表示されないのはなぜですか?

public void MyMethod() 
{ 
    myButton1.Enabled = true; 
    myButton2.Enabled = myButton1.Enabled; 
} 

私は、デバッガmyButton1.Enabledを使用してコードをステップとしてmyButton2.EnabledMyMethod()終了し、myButton1が有効になっていると私はそれをクリックすることができますが、myButton2が有効でない場合、その後trueに変化しませんが、そのためtrueに変更されません。 。論理的にはうまくいくので、なぜ誰がこの現象が起こっているのか分かっていれば、私は興味があります。

私は既にそれを持っているので、私は回避策を探していません、なぜこれがうまくいかず、それを修正する方法を知りたいだけです。

ありがとうございます!

+0

どのようなVisual Studioを使用していますか?あなたのOSは?あなたのコードは私のシステム(Win10 VS2015)で完全に動作するからです。 2つのボタンだけでプロジェクトをクリーンアップします。 –

+0

再描画またはリフレッシュが必要ですか?私はそれがイベントである必要があると信じているので、アップデートは正しく行われます – kurakura88

+0

@x ...私はWindows 7を持っていて、VS2010を使っています。これは中規模のプロジェクトであり、とても小さいためにクリーンなプロジェクトを作成するのには時間がかかりません。しかし、私が言ったように、なぜこの行 'myButton1.Enabled = true; 'がボタンのenabledプロパティを' false'から 'true'に設定しないのか理解しようとしています。返信ありがとう –

答えて

0

ボタンのプロパティを確認します。あなたのenabledはあなたの特性にfalseに置かれている場合は、myButton1.Enabled = true;書いた本家、まだ2間Application.DoEvents();を入れて、それが変わるかどうかを確認するためにfalse

+0

Enabledはプロパティで 'false'に設定されていたので、' true'に変更しました。返信いただきありがとうございます –

+0

デバッグポイントは正しいですか?私はそれをテストしたとき、私はそれに問題はありません。 myButton1.Enabled = trueにポイントを入れて、そこからステップインしてみてください。 – active92

0

てみてくださいになります。

+0

私はそれを試みたが、何も変わらなかった。返信ありがとう –

+0

'Application.DoEvents()'を提案することは決してありません。決して良い答えではありません。 – Enigmativity

関連する問題