日期:2014-05-20  浏览次数:21031 次

WinFrom中怎样判断鼠标释放?
WinFrom中怎样判断鼠标释放? 我在treeview的MouseEnter事件里进行判断,当鼠标释放的时候再执行下面的代码,该怎样做????
急!

------解决方案--------------------
我发觉回你的贴根本就是对牛弹琴

MouseUp  在鼠标指针在控件上并释放鼠标键时发生。 (继承自 Control。)

Control.MouseUp 事件


引用:
Quote: 引用:

公共事件 MouseClick  用鼠标单击控件时发生。 (继承自 Control。)
公共事件 MouseDoubleClick  用鼠标双击控件时发生。 (继承自 Control。)
公共事件 MouseDown  当鼠标指针位于控件上并按下鼠标键时发生。 (继承自 Control。)
公共事件 MouseEnter  在鼠标指针进入控件时发生。 (继承自 Control。)
公共事件 MouseHover  在鼠标指针停放在控件上时发生。 (继承自 Control。)
公共事件 MouseLeave  在鼠标指针离开控件时发生。 (继承自 Control。)
公共事件 MouseMove  在鼠标指针移到控件上时发生。 (继承自 Control。)
公共事件 MouseUp  在鼠标指针在控件上并释放鼠标键时发生。 (继承自 Control。)
公共事件 MouseWheel  在控件有焦点的同时鼠标轮移动时发生。 (继承自 Control。)

http://msdn.microsoft.com/zh-cn/library/system.windows.forms.treeview_events(v=vs.110).aspx

Quote: 引用:

WinFrom中怎样判断鼠标释放? 我在treeview的MouseEnter事件里进行判断,当鼠标释放的时候再执行下面的代码,该怎样做????
急!



在MouseEnter事件里怎么判断? 求代码!

------解决方案--------------------
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
            this.MouseUp += new MouseEventHandler(Form2_MouseUp);
        }

        void Form2_MouseUp(object sender, MouseEventArgs e)
        {
            MessageBox.Show("鼠标释放");
        }
    }

------解决方案--------------------
"拖放"有它单独的一套操作方式和数据响应方式.
DragDrop
DragEnter
DragLeave
DragOver是有关拖放的事件。里面可以响应鼠标的位置。
------解决方案--------------------
http://hi.baidu.com/lanweijianlong/item/7926b1bc3653fa432aebe393
事件中的 DragEventArgs e 对象具有 x 和 y属性指示鼠标的位置。
------解决方案--------------------
请一定按照上面的思路去处理拖放。不要轻易尝试使用鼠标事件等方式自己封装拖放的效果。
拖放本身是非常复杂的过程,所以最好是使用.net封装好的方法、事件和常规的思路:
DoDragDrop发起拖放-〉AllowDrop=True设置响应目标->DragEnter、DragLeave、DragOver事件响应用户拖放中的过程->DragDrop事件处理拖放结果。
如果你决心自己用鼠标事件甚至消息处理拖放,那么也应该先熟练掌握系统的拖放接口,深入理解拖放的思想后才可以。

------解决方案--------------------
如果在窗体中的控件上释放鼠标Form_MouseUp不被触发;
所以事件要加到所有控件上;

foreach (Control item in frm.Controls)
{
    item.MouseUp += item_MouseUp;
}

item_MouseUp事件含坐标e.X;