0

私は次のことをしようとしています:

textBoxと次のメソッドを含むform1があります。

public void ChangeText()
{
    textBox.Text = "A";
}

アプリケーションは、Form1クラスのフォームを実行します。これをmainFormと呼びます。そのメインフォームは、クラスForm1の別のフォームを作成する別のプロセスを開始します-それをchildFormと呼びましょう。

ここで、mainFormのボタンをクリックし、childFormのChangeText()メソッドを呼び出して、childFormのtextBoxが影響を受けるようにします。

私はしばらく探していましたが、うまくいかないようです。それが可能かどうかは完全にはわかりません。

APIは私にオプションをまったく与えていないようで、WCFではメソッドが呼び出されていますが、元の形式は認識されません。

4

2 に答える 2

1

もちろん可能ですが、2つの形式は異なるプロセスにあるため、.NETRemotingやWindowsCommunication Foundationなどのプロセス間通信(IPC)メカニズムが必要になります。または、この手法を使用できます。

于 2012-12-13T17:02:36.740 に答える
-1

途中でロジックを編集したい場合

-

mainFormがchildFormをインスタンス化する場合、それへの参照も保持する必要があります。

つまり、プライベートフォームchildForm = new Form();

mainForm.ChangeText()を呼び出します。これは次のようになります(これはイベントによって呼び出されるため、パラメーターは実際にはイベントパラメーターと送信者パラメーターになります)。

public void ChangeText(EventArgs e, Sender sender)
{
   this.childForm.ChangeText(EventArgs e, Sender sender)
}

公開すると、textBoxに直接アクセスすることもできます

すなわち

this.childForm.textBox1.Text = text
  • 別のユーザーが指摘したアクセサの間違いを修正
于 2012-12-11T17:17:07.517 に答える