【发布时间】:2017-11-29 15:58:15
【问题描述】:
我发现我经常喜欢在循环填充列表时创建新项目并将其添加到列表中:
foreach(var cat in ctx.InventoryCategories)
{
pnl_catList.Controls.Add(new RadioButton()
{
Text = cat.CategoryName,
Tag = cat,
Checked = false,
// how could I do this?
Click += onClick(),
})
}
但我现在知道如何添加事件侦听器的唯一方法是:
foreach(var cat in ctx.InventoryCategories)
{
var newButton = new RadioButton()
{
Text = cat.CategoryName,
Tag = cat,
Checked = false,
})
newButton.Click += onClick();
pnl_catList.Controls.Add(newButton);
}
这是一种不好的做法,还是有一种很好的快捷方式来绑定事件?
【问题讨论】:
-
后者是非常好的做法。我找不到通过初始化程序添加事件处理程序的合理方法。
标签: c# events instantiation shorthand