背景/上下文获取从文本框中的文本在Form1上
所以我建立一个程序,它需要2个Excel文件并对它们进行比较突出的差异。这工作正常。现在我正在开发第二种形式,它做了一个非常类似的事情,但基本上“适用”了这些变化。现在在第一种形式中,我有两个包含文件位置的文本框,但在突出显示更改后出现的第二个表单上只有一个“应用”按钮,因此我需要从Form1下拉文件的文本框路径这似乎并没有在MT代码工作:因此,在这里我所说的功能应用的变化,这些变量行
CODE
public partial class Form2 : Form
{
Form1 form1 = new Form1();
public Form2()
{
InitializeComponent();
btnApply1.Click += new EventHandler(this.btnApply_Click);
btnCancel1.Click += new EventHandler(this.btnCancel1_Click);
}
private void btnApply_Click(object sender, EventArgs e)
{
foreach (Process clsProcess in Process.GetProcesses())
{
if (clsProcess.ProcessName.Equals("EXCEL"))
{
clsProcess.Kill();
break;
}
}
new CRCCompareWorksheets.CompareHelper().ApplyChanges(
form1.ExcelPath1.Text, form1.ExcelPath2.Text, "CRC");
}
private void btnCancel1_Click(object sender, EventArgs e)
{
new CRCCompareWorksheets.CompareHelper().CancelApplication();
}
}
的问题
form1.ExcelPath1.Text
和form1.ExcelPath1.Text
都是空的,因此文件位置没有被拉过,没有任何工作:(
正在创建Form1的一个新实例您窗体2。我认为这与您创建的格式不同,其中填充了文本字段。我不认为你应该有两种形式,但是如果你坚持要保留它们(而不是在第一个表单上添加一个应用按钮),你需要将form1的实际实例传递给form2,或者仅仅传递它的文本文本框。 –
您可以在窗体中创建静态的'string'字段,并使用文本框中的文本初始化它们,并从另一个类访问它们。 – wdc
Form1是否启动Form2?在form2中,你只需要新的Form1,所以它没有设置任何值。当你创建它时,你可能需要将Form1传递给Form2? – Derek