基本上我有一些控制他们做类似的事情,但对于不同的控制使用不同的值。例如:如何为多个类似的控件编写事件处理程序?
public static void DeleteItemsFromList (object sender, EventArgs e)
{
ListBox control = null;
switch (((Button) sender).Name)
{
case "EffectsRemove": control = (ListBox) ActiveForm [ "EffectsList" ]; break;
case "LayersRemove": control = (ListBox) ActiveForm [ "LayersList" ]; break;
case "ObjectsRemove": control = (ListBox) ActiveForm [ "ObjectsList" ]; break;
}
control.Items.Add (((Button) sender).Name)
string action = null;
switch (((CheckButton) sender).Name)
{
case "EffectsRemove": action = "Effects"; break;
case "LayersRemove": action = "Layers"; break;
case "ObjectsRemove": action = "Objects"; break;
}
var selectedItem = control.SelectedItem;
if (selectedItem == null)
return;
Refresh = false;
UpdateUI (action);
Refresh = true;
}
这是不好的做法?基于类似行为的控件,有没有更好的方法来完成这些类型的可变事件处理程序?
男人,间隔圆括号约定是我永远无法理解的东西。 – ChaosPandion 2011-02-08 20:52:34
@ChaosPandion:你的意思是阅读或写作? :O因为VS为我做。 – 2011-02-08 20:56:31