背景/上下文獲取從文本框中的文本在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