これはスタックオーバーフローに関する私の最初の質問であるため、質問スタイルのエラーは意図的なものではありません。
私は両方とも、イベント処理の概念に関して 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 の概念は私には非常に適切に思えます。
私が実行しようとしているプログラムは非常に包括的であるため、「ポーリング」はこの場所ではオプションではありません。