私はこの質問が以前に尋ねられたか、似たような質問があることを知っていますが、解決策のどれもまだ私の問題を解決していません。別のクラスのボタンを無効にする
ボタンがhitButton
のwinformがあります。私がする必要があるのは、このボタンを別のクラス(フォームクラスではない)から無効にすることだけです。
私のフォームクラスは次のとおりです。
public partial class BlackJackTable : Form
{
}
私の別のクラスには、次のとおりです。
public void DisableButtons()
{
hitButton.Enabled = false;
}
からのアクセス:私はこのようなBlackJackTable
でパブリックメソッドを暴露しようとしている
class GameWon
{
}
GameWon
コンストラクタ(クラスIのどこにアクセスしても問題ありません。ただしからt)は次のように:
public BlackJackTable blackJackTable = new BlackJackTable();
public GameWon()
{
blackJackTable.DisableButtons();
}
IはGameWon
に変数を使用して試みた:
public Button hit;
とblackJackTableから割り当て:
GameWon gameWon = new GameWon();
public void Assign()
{
gameWon.hit = this.hitButton; // or just = hitButton;
}
とGameWon
から無効:
hit.Enabled = false;
私はいくつかのことを試しましたが、どれもうまくいきませんでした。私は、私が試した方法のどれもが働いていないので、何かが明らかに欠けていると思います。
感謝しています。
更新
私はテキストボックスとpictureboxesと後者の方法を行うために管理している、ボタンとの違いは何ですか?あなたは元のクラスに値を返すことができ
私はあなたが右のボタンのためにそれをやっていないと想像することができます。 DisableButtonsを呼び出すときにfalseをEnabledに設定すると、それは完全にトリックを行うはずです。それはすべてシングルスレッドですよね? – SimpleVar
@ YoryeNathanうん、それは右のボタンであり、それはすべてシングルスレッドです。私はそれを理解していない。 –
実際にボタンがあるフォームのctorでEnabledをfalseに設定してみてください。ちょうど物事をテストする。 – SimpleVar