【发布时间】:2014-02-07 23:25:18
【问题描述】:
我有 2 个独立的 Winforms 应用程序。 Form1 有一个文本框和一个按钮。当我单击按钮时,我想将 textbox.text 作为命令行参数传递给我的第二个应用程序,然后在 Form2 上填充另一个文本框。
我目前可以将参数从一个应用程序传递到另一个应用程序,但是,我不确定如何使用来自 Form1 的参数填充 Form2 中的文本框。
表格1:
private void bMassCopy_Click(object sender, EventArgs e)
{
string shortcutName = string.Concat(Environment.GetFolderPath(Environment.SpecialFolder.Programs), "\\", "MassFileCopy", "\\", "MassFileCopy", ".appref-ms");
Process.Start(shortcutName, " " + tHostname.Text.ToString());
}
表格2:
[STAThread]
static void Main(string[] args)
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
formMain mainForm = new formMain();
Application.Run(mainForm);
if (args.Length > 0)
{
foreach (string str in args)
{
mainForm.tWSID.Text = str;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
}
}
上面的代码很好地接受了参数,但是,应用程序加载并且文本框没有被填充。断点似乎表明 foreach 循环直到 Form2 关闭后才会运行,但我无法在 Form2 加载之前运行 foreach 循环,因为没有要与之交互的文本框。
有什么想法吗?
【问题讨论】: