0

これはスタックオーバーフローに関する私の最初の質問であるため、質問スタイルのエラーは意図的なものではありません。

私は両方とも、イベント処理の概念に関して C# を初めて使用するので、EventHandler によって ToolStripButtonItem 属性の値が変更される可能性があるかどうかを知りたいです。

コンテキストは次のとおりです。

コードは、いくつかの Windows.Forms-Elements を含む UI を初期化することから始まります。ToolStripButtomItem私にとって興味深いのは、デフォルト値として false に設定されていることですEnabled-attribute。このボタンの機能は、特定の参照ファイルが存在するとすぐに比較ビューに切り替えることです。これは、プログラムの開始時にすでに当てはまる可能性があります。そうでない場合、実行時に参照ファイルが作成される可能性があります。もちろん、あなたは実行することができます

Button.Enabled=System.IO.File.Exists(Reference-File) 

初期化を使用して、次のようなことを行うよりも

CreateFile(ReferenceFile){
    ...
    Button.Enabled = true;
}

しかし、これは私にはかなり粗雑に思えます。

代わりに、次のようなことをしたいと思います:

Button.Enabled = new System.EventHandler(this.EnableButton);

private void EnableButton(Object sender, EventArgs e){
  if(System.IO.FileExists(ReferenceFile)
  Button.Enabled = true; 
}  

私が意図しているのは、参照ファイルが存在するとすぐにボタンを有効にすることです。参照ファイルを作成する方法は複数あり、今後さらに増える予定です。これらのcreateReferenceFile()-Methods のそれぞれで enable-value を設定することを避けるために、EventHandling の概念は私には非常に適切に思えます。

私が実行しようとしているプログラムは非常に包括的であるため、「ポーリング」はこの場所ではオプションではありません。

4

1 に答える 1