C# Windows フォーム アプリケーションを使用して GUI を作成しようとしています。mainfrom に 1 つのメソッドを記述しました。ユーザー コントロールの 1 つに 2 つのチェック ボックスがあります。チェックボックスが変更されたら、メインフォームでそのイベントを発生させ、そのイベントでmainfromに記述したメソッドを実行する必要があります。これどうやってするの ?。
2013 次
4 に答える
0
ユーザー コントロールでデリゲートを作成し、メイン フォームで関数を指すようにします。ユーザー コントロールのチェックボックスの OnCheckedChanged() イベントを作成し、イベントでデリゲート メソッドを呼び出します。
この例を見てください
mainform.cs
mainform_load()
{
// Initialize user control delegate object to point the method in mainform
usercontrol1.method= Method1;
...
}
// method to call from usercontrol
public void Method1()
{
}
usercontrol1.cs
delegate void Method1()
public PointMyMethod method;
...
checkbox1_OnCheckedChanged()
{
// This calls the method in mainform
method();
}
...
それが役に立てば幸い
于 2013-04-12T12:46:56.720 に答える
0
ヘルプでデリゲートを検索します。メイン ボックスでプロシージャを作成し、コントロールでデリゲートを作成し、メイン プロシージャでデリゲートをプロシージャに設定して、checkbox.checked で呼び出します。
警告の 1 つの作業 - デリゲートが null ではない (つまり、設定されていない) ことを確認してください。そうしないと、エラーが発生します。
于 2013-04-12T12:36:23.460 に答える