我创建了一个新的WinForm。在那个WinForm中,我放了一个Panel。船坞=填充。
负责这个项目。
表单标题上的DoubleClicked (最大化)
获取面板上的mouseUp:
WindowsApplication1.Form1.Panel1_MouseUp(Object,System.Windows.Forms.MouseEventArgs),线程: 0x2068主线程
它是一个bug还是一个特性?)
我知道当我双击面板的某一部分时,鼠标下出现了片刻,但是我在面板上没有任何mouseUp,但是?!
我的问题是:我的面板中有一些可以选择的对象。当我在面板上单击(MouseUp)时(在一个“空”空间上,没有任何对象),通常我会取消选择所有对象。
但是在最大化的情况下,我应该保持对象选择不变!
如何“过滤”MouseUp的最大化情况?
发布于 2012-04-23 11:39:39
好吧,你描述得很完美
G 211
即使你是正确的,而且这种行为是非常烦人和无用的,这是逻辑上应该是这样的。
我建议尽量避免按下鼠标/鼠标。尽可能使用鼠标单击/DblClick。
致以敬意,
编辑:
我有两个想法给你:
跟踪没有MouseDown.的MouseUp
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?)
https://stackoverflow.com/questions/10279687
复制相似问题