リストボックス フォームで、別のフォルダー内のクラスからメソッドを呼び出せるようにしたいと考えています。これが私がやろうと思ったことです:
public void ListBox_SelectedIndexChanged(object sender, EventArgs e)
{
SharedClasses.Form.FormConsole newFormConsole =
new SharedClasses.Form.newFormConsole();
}
あなたはクラスの新しいインスタンスを作成していますが、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();
}
私が思う最も簡単な方法は、現在のアプリケーションのメイン フォルダーに他のアプリケーション フォルダーをコピーし、このコード スニペットで他のアプリケーション フォルダーのクラスを使用することです。
using yourcurrentappname.otherappsfoldername;
現在のアプリで、他のアプリのクラスのメソッドに簡単にアクセスできるようになりました。