MyFormとDatabaseの2つのクラスがあります
MyFormには、エラーを表示するようにラベルテキストを変更するメソッドがあります。
public void printError(string text){
label1.Text = text;
}
私のデータベースクラスもそのメソッドにアクセスする必要があるので、静的にします。
public static void printError(MyForm form, string text){
form.label1.Text = text;
}
問題は、Databaseクラスからそのメソッドを呼び出すにはどうすればよいですか?
私が見つけたこの質問は、次のようにMyFormをデータベースのコンストラクターに渡す必要があると述べています。
class MyForm : Form{
Database db;
public Form(){
db = new Database(this);
}
}
class Database{
MyForm form;
public Database(MyForm f){
form = f;
}
...
//then I can access the printError like this
MyForm.printError(form, "You got error");
}
それを試してみたところ、フォームがフリーズしました。他の解決策はありますか?
ありがとう