在form1.cs和program.cs之间传递数据

kri*_*ara 5 c# winforms

我知道这是非常基本的,但我找不到关于如何在MSDN,Google搜索和stackoverflow之间执行此操作的任何指南/教程.

我创建了一个新的Windows窗体应用程序,在这里我有Program和Form1,其中Form1拥有2个文本框和按钮.

Button1应该从Text1获取字符串并将其发送到program.cs,其中字符串被编辑并发送回Form1.然后Button2在Text2中显示新字符串.

我得到了从Text1(使用Button1)获取字符串,但无法弄清楚如何将其发送到program.cs以便可以处理它.我应该做些什么来在两者之间传递数据?

我不确定这是否是正确的开始,但我创建了一个myForm,试图将字符串发送出去.但是我怎么把它寄回去?

在Program.cs中:

static Form1 myForm;
[STAThread]
static void Main()
{

    string s1, s2;
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    myForm = new Form1();
    Application.Run(myForm);
    s1 = myForm.sendOver();

}
Run Code Online (Sandbox Code Playgroud)

Ser*_*rvy 4

你实际上不能。 Application.Run(myForm);将阻塞,直到您的表单关闭,因此不再适合从中获取数据或向其提供数据。

在几乎所有 winform 程序中,您都不应该修改program.cs。虽然您偶尔可以让它工作,但从设计角度来看,它很少是可取的。

如果您想根据 from 的结果进行处理,您很可能应该创建一个全新的类,与其中任何一个类分开。在适当的时候(这可能是在单击提交按钮时、在表单关闭事件处理程序中等)调用该类的方法(如果合适,则创建它的实例)。