我有一个允许删除的表单,我还需要捕获click事件。
这里棘手的部分是,当用户在表单上拖放对象时,MouseClickEvent
也会被触发 - 因为他还点击了鼠标来释放掉落。
我如何在单独的事件触发器中处理这些事件的每一个?
提前致谢!
这是一个简短且更逻辑的问题,所以我没有看到在这里放置代码的真正原因..
谢谢!
答案 0 :(得分:0)
添加全局布尔值,例如:
private bool isDragAndDrop;
加载表单时将其设置为false。当触发dragAndDrop事件时,您应该设置isDragAndDrop = true
。
当Click事件被触发时,你检查if(!isDragAndDrop)
这将根据isDragAndDrop -variable的值执行或不执行click事件中的代码。
在离开点击事件之前,您需要设置isDragAndDrop = false
答案 1 :(得分:0)
我在此link
上找到了此解决方案 private void MyMouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left && e.Clicks == 1)
{
Control source = (Control)sender;
source.DoDragDrop(new MyWrapper(source), DragDropEffects.Move);
}
}
Bill Rawlinson撰写的文章 - 2007年4月18日