在我的winform上,我具有每次单击按钮时都会动态创建的用户控件。我希望在运行时能够通过单击一次然后按ctrl按钮来选择它们。我设法做到了,但只做了一个。我该如何为所有人工作?我的代码:
private void TControl_Click(object sender, EventArgs e) //TControl is the name of usercontrol
{
TControl tc = new TControl();
Control ctrl = sender as Control;
if (ctrl != null)
tc = ctrl;//it doesn't work like this.
最佳答案
您可以具有选定控件的列表。只需确定在单击控件时是否按下了Ctrl并将其添加到选定列表中即可(如果之前添加了控件,也可以将其删除):
List<TControl> selectedControls = new List<TControl>();
private void TControl_Click(object sender, EventArgs e)
{
if ((ModifierKeys & Keys.Control) == 0)
return;
TControl tc = (TControl)sender;
if (selectedControls.Contains(tc))
return; // you can remove control here
selectedControls.Add(tc);
}
关于c# - 在运行时多选ctrl + button单击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15780322/