0

C# Windows フォーム アプリケーションを使用して GUI を作成しようとしています。mainfrom に 1 つのメソッドを記述しました。ユーザー コントロールの 1 つに 2 つのチェック ボックスがあります。チェックボックスが変更されたら、メインフォームでそのイベントを発生させ、そのイベントでmainfromに記述したメソッドを実行する必要があります。これどうやってするの ?。

4

4 に答える 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 に答える