【发布时间】:2009-10-17 07:09:46
【问题描述】:
我有一个简单的下拉样式的 ComboBox。我想在用户右键单击列表中的某个项目时打开一个新窗口,但无法让它检测到发生了右键单击。
我的代码:
private void cmbCardList_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right && cmbCardList.SelectedIndex != -1)
{
frmViewCard vc = new frmViewCard();
vc.updateCardDisplay(cmbCardList.SelectedItem);
vc.Show();
}
}
如果我改变 e.Button == MouseButtons.Left 整个事情就很好了。有什么方法可以让我按我的意愿工作吗?
【问题讨论】:
-
在我看来,右键单击按钮/组合等是违反直觉的。您可能希望使用另一种方法来执行您想要的操作。使其更实用、更易于实施。
-
我正在制作的应用程序是一个实用程序,用于处理不再维护但被另一个软件(我没有制作)使用的数据文件。我正在寻找的行为只是在这个其他程序中模拟类似的行为,所以它不应该对任何使用我的应用程序的人来说如此陌生。有另一种方法可以获取我想要显示的对话框,但我现在更感兴趣的是在我的原始应用程序中提供小快捷方式。
标签: c# combobox winforms right-click