2

リストボックス フォームで、別のフォルダー内のクラスからメソッドを呼び出せるようにしたいと考えています。これが私がやろうと思ったことです:

public void ListBox_SelectedIndexChanged(object sender, EventArgs e)
{
    SharedClasses.Form.FormConsole newFormConsole = 
        new SharedClasses.Form.newFormConsole();
}
4

2 に答える 2

0

あなたはクラスの新しいインスタンスを作成していますが、FormConsoleおそらくあなたがやりたかったことではないと思います。

おそらくやりたいことは、ListBoxを含むフォームにの既存のインスタンスへの参照FormConsoleを持たせることです。次に、そのインスタンスのメソッドを呼び出すことができます。

したがって、ListBoxを含むクラスのどこかに:

private FormConsole _myForm;

これをクラスのコンストラクターで設定するか、ゲッターとセッターを提供できます。

public FormConsole MyForm
{
    get { return _myForm; }
    set { _myForm = value; }
}
// and/or...
public ListBoxForm(FormConsole myForm) 
{
    MyForm = myForm;
}

次に、myFormで(パブリック)メソッドを呼び出すことができます。

public void ListBox_SelectedIndexChanged(object sender, EventArgs e)
{
    MyForm.MyMethod();
}
于 2012-10-26T15:27:07.383 に答える
0

私が思う最も簡単な方法は、現在のアプリケーションのメイン フォルダーに他のアプリケーション フォルダーをコピーし、このコード スニペットで他のアプリケーション フォルダーのクラスを使用することです。

using yourcurrentappname.otherappsfoldername;

現在のアプリで、他のアプリのクラスのメソッドに簡単にアクセスできるようになりました。

于 2012-10-26T15:37:47.730 に答える