首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >小组中的MouseUp?

小组中的MouseUp?
EN

Stack Overflow用户
提问于 2012-04-23 11:31:53
回答 1查看 147关注 0票数 1

我创建了一个新的WinForm。在那个WinForm中,我放了一个Panel。船坞=填充。

负责这个项目。

表单标题上的DoubleClicked (最大化)

获取面板上的mouseUp:

WindowsApplication1.Form1.Panel1_MouseUp(Object,System.Windows.Forms.MouseEventArgs),线程: 0x2068主线程

它是一个bug还是一个特性?)

我知道当我双击面板的某一部分时,鼠标下出现了片刻,但是我在面板上没有任何mouseUp,但是?!

我的问题是:我的面板中有一些可以选择的对象。当我在面板上单击(MouseUp)时(在一个“空”空间上,没有任何对象),通常我会取消选择所有对象。

但是在最大化的情况下,我应该保持对象选择不变!

如何“过滤”MouseUp的最大化情况?

EN

回答 1

Stack Overflow用户

发布于 2012-04-23 11:39:39

好吧,你描述得很完美

  1. MouseDown on Title
  2. MouseUp on Title
  3. 窗口是最大化的,现在鼠标在窗体上。
  4. MouseUp on FORM.

G 211

即使你是正确的,而且这种行为是非常烦人和无用的,这是逻辑上应该是这样的。

我建议尽量避免按下鼠标/鼠标。尽可能使用鼠标单击/DblClick。

致以敬意,

编辑:

我有两个想法给你:

跟踪没有MouseDown.的MouseUp

代码语言:javascript
复制
private bool bMouseDownState = false;

private void Form1_MouseDown(object sender, MouseEventArgs e)
{
    bMouseDownState = true;
}

private void Form1_MouseUp(object sender, MouseEventArgs e)
{
    if (!bMouseDownState)
        return;
    bMouseDownState = false;
}

注意最大化事件,忽略了MouseUp.之后的事件

但是当窗口几乎最大化时,这个就更棘手了(这不会导致鼠标上升!)

最后,忽略下面的鼠标向上(取消对象)。

*最后一个-为什么发明轮子?*使用已经制作的画布(visio?)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10279687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档