0

我正在尝试执行以下操作:

我有一个带有 textBox 的 form1 和以下方法:

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

应用程序运行 Form1 类的表单——我们将其称为 mainForm。该主窗体启动了另一个进程,该进程创建了 Form1 类的另一种形式——我们称之为 childForm。

我现在想单击 mainForm 上的一个按钮并ChangeText()调用 childForm 的方法,以便 childForm 的 textBox 是受影响的。

我一直在寻找一段时间,我似乎无法让它工作。我不完全确定这是否可能。

API 似乎根本没有给我选项,并且使用 WCF 正在调用该方法,但无法识别原始形式。

4

2 回答 2

1

当然,这是可能的,但由于这两种形式位于不同的进程中,因此您需要一个进程间通信 (IPC) 机制,例如.NET RemotingWindows Communication Foundation。或者你可以使用这种技术

于 2012-12-13T17:02:36.740 回答
-1

假设您要在途中编辑逻辑

--

如果 mainForm 实例化 childForm 那么它也应该持有对它的引用。

即私有Form childForm = new Form();

调用 mainForm.ChangeText() ,它看起来像这样(这被事件调用,因此参数实际上是事件和发送者参数):

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

如果您将其公开,您也可以直接访问文本框

IE

this.childForm.textBox1.Text = text
  • 更正了另一个用户指出的访问者错误
于 2012-12-11T17:17:07.517 回答