我有一个mdi,其中有几行代码,如下所示。只有chage是正在打开的Form对象。所以我希望所有这些工作只使用单一的函数定义。 当我尝试捕获发件人时,它会在此处为我提供ToolStipMenuItem。但我希望它的发件人是表单名称,以便我可以打开其相应的表单。我如何缩短MDI中各种winform调用的代码
private void purchaseInvoiceToolStripMenuItem_Click(object sender, EventArgs e)
{
Forms.PurchaseInvoice purinv = new DigitalInvy.Forms.PurchaseInvoice();
purinv.Show();
}
private void lederGroupsToolStripMenuItem_Click(object sender, EventArgs e)
{
Forms.LedgerGroup lgrp = new DigitalInvy.Forms.LedgerGroup();
lgrp.Show();
}
private void voucherEntryToolStripMenuItem_Click(object sender, EventArgs e)
{
Forms.VoucherEntry ventry = new DigitalInvy.Forms.VoucherEntry();
ventry.Show();
}
private void currencyToolStripMenuItem_Click(object sender, EventArgs e)
{
Forms.CurrencyMaster currency = new DigitalInvy.Forms.CurrencyMaster();
currency.Show();
}
private void countryToolStripMenuItem_Click(object sender, EventArgs e)
{
Forms.CountryMaster country = new DigitalInvy.Forms.CountryMaster();
country.Show();
}
我想要做这样的事情
private void cMenuItem_Click(object sender, EventArgs e)
{
if(sender.GetType()==Form)
{
Forms.CountryMaster country = new DigitalInvy.Forms.CountryMaster();
country.Show();
}
}
@Hans:(o,e)=> createChild(new frmPurchaseInvoice());这条线是什么意思。请详细说明 – 2010-04-24 09:06:22
这是一个lambda表达式。如果您仍然使用C#2.0,那么您可以使用匿名方法。帖子更新了一个例子。 – 2010-04-24 09:16:21