列表框事件触发异常
|
我糊涂了。我基本上是想告诉用户何时单击列表框中的某些内容,按住按钮并离开列表框。这是我正在做的事情的一个愚蠢的版本:
private bool itemHeld;
private void listOriginal_MouseDown(object sender, MouseEventArgs e)
{
itemHeld = true;
}
private void listOriginal_MouseUp(object sender, MouseEventArgs e)
{
itemHeld = false;
}
private void listOriginal_MouseLeave(object sender, EventArgs e)
{
if (itemHeld)
MessageBox.Show(\"OHH YEAH\");
}
在我看来,当您按下鼠标按钮时,它应该将itemHeld设置为true,仅在将其抬起时才将其设置为false,如果值为true则显示ohh。如果我中断了鼠标按下事件以检查该值,则为true,并且如果我从那里继续,则显示该消息。如果我不休息,它什么也不做。这里还有其他工作吗?
编辑:
简短说明:很难解释我实际上要完成的工作,但是想像一下几乎就像将文件从窗口中拖出一样。我只需要能够识别用户何时在列表框内单击,然后将其拖出列表框(如果有意义)
没有找到相关结果
已邀请:
3 个回复
款去芳尾脊
它使用这样的事实,即在释放鼠标按钮之前不保留控件...但是要注意,拖出部分将发生多次,因此您可能希望第一次设置标志...并具有鼠标移开或离开时清除标志
犁攀富
济畦刨
如果您在列表框上按下鼠标按钮并在不释放按钮的情况下将光标移出,则将焦点切换到另一个窗口(例如Visual Studio)会触发MouseLeave事件触发。这就是为什么您在调试时看到消息框弹出的原因。 我不确定您要完成什么,因此我不推荐其他解决方案。