私はWindowsフォームアプリケーションプロジェクトでC#で作業しています。 MainFormと呼ばれるグラフィカルなメインフォームがあり、テキストボックスはログビューアのように機能します。また、テキストボックスを通じて仕事に関する情報を送る必要がある多くのクラスがあります。テキストを別のクラスを介してテキストボックスに送る方法は?
私はすでにこのコードをProgram.csに入れています。それは私がこれを持ってMainForm.csの内部パブリックメンバー
public static MainForm mainForm;
public static Main()
{
...
mainForm = new MainForm();
Application.Run(mainForm);
// Application.Run(new MainForm()); I commented this default line
}
を作成します。
public void sendMessage(string message)
{
// puts message in textbox...
}
最後に、私はこの方法により、他のクラスからアクセスすることができます。
class otherClass
{
...
private void someFunction(){
...
Program.mainForm.sendMessage("send to log!");
}
}
どのようにすることができますがこのbehaivorを変える? もう一つ効率的に存在しますか?
なぜメッセージ送信機能を使用しますか?あなたはそれをmainForm = new MainForm()と呼ぶほうがいいでしょう。 mainForm.textbox1。テキスト= "sometext"; –
良いアイデア、それは動作しますが、sendMessage()を使用してメッセージをログファイルにも追加します – auraham
メインフォームにsendMessage()関数があるのはどうですか? –