在總帳中,當用戶雙擊dgv行時,採購發票窗體將打開並顯示相關的採購發票。如果採購發票已經在的MdiParent開放的,它只會激活,這種情況下我申請支票如何將參數傳遞給form.Activate();而不是form.Show();
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
string invNo = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
foreach (Form f in Application.OpenForms)
{
if (f.GetType() == typeof(PurchaseForm))
{
f.Visible = true;
f.Activate();
.....
}
....
}
....
}
我要傳遞的參數
PurchaseForm form = new PurchaseForm();
form.btnNewInvoice.PerformClick();
form.txtInvoiceNo.Text = invNo;
form.dataGridView1.Focus();
它不工作和不能通過PARAMETER,這是什麼解決方案?
return;
}
}
PurchaseForm form = new PurchaseForm();
form.MdiParent = MainForm.ActiveForm;
form.Show();
form.btnNewInvoice.PerformClick();
form.txtInvoiceNo.Text = invNo;
form.dataGridView1.Focus();
}
只是一個構造函數或公共方法添加到窗體類讓你通過任何你想要的。 –
你真的不應該在你的表單上的控件公開,他們不應該被另一個外部類搞砸了;表單應該簡單地公開方法/屬性,只允許外部調用者需要執行的功能被調用,然後表單本身應該擔心對其內部控件的操縱;它們應該是實現細節,而不是公共API的一部分。另外,不是在'openforms'中查找表單,而是使用您打開的表單實例的私有字段。 – Servy