【发布时间】:2011-08-10 05:14:38
【问题描述】:
当用户右键单击列表框时,我有一个功能可以取消选择列表框中的所有选定项目。有没有办法将此函数应用于我项目中的所有列表框?
我想知道是否有另一种方法,不创建类并将函数放在类中等:
public class selectedListbox{
private void setSelected(ListBox details){
details.MouseDown += new System.Windows.Forms.MouseEventHandler(this.listBoxDeselectAll);
}
private void listBoxDeselectAll(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
((ListBox)sender).ClearSelected();
}
}
}
然后为每个列表框执行此操作:
selectedListBox h = new selectedListBox();
h.setSelected(listboxNameHere);
【问题讨论】:
-
您可能会发现创建一个继承自
ListBox并具有此功能的新控件很有用。 -
我认为您可以使用 form.controls 集合,但我没有足够的经验给您完整的答案。检查msdn
-
@Inuyasha 你想给我更多关于创建新控件的细节吗?谢谢