在窗体指定小区域内禁用鼠标 winform窗体内有个panel区域,我想实现的目的是在鼠标在panel区域内无效(主要是禁用左键,右键无所谓)可以看到鼠标移动,或者直接看不到鼠标在panel区域内也行,总之,在panel内禁用左键,panel外不影响没有头绪,请大家给个思路 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先你要检测鼠标的位置,这个通过mousemove你能做到。然后在这个区域内。重写左键单击的响应,就可以了吧。ok?再不行,让楼下给代码。 To 1楼刚大概搜索了下这个api函数,它会影响到panel内的光标,其实是我没说清楚了,最主要目的是不想让用户通过鼠标控制panel内部的光标,从而达到只允许程序一步步设定光标移动到哪个控件(焦点在哪个控件上) To zhuton:呵呵,这也是个思路,8错8错,看还有没有其他办法,暂时先试试这个方法 To 狂刀:呵呵,谢谢,其实这是我以前搞vc的经验而已啦。 [DllImport("User32.dll")] private static extern void ClipCursor(ref System.Drawing.Rectangle rect); [DllImport("User32.dll", EntryPoint = "ClipCursor")] private static extern void ClipCursorA(ref int i); [DllImport("User32.dll")] private static extern int GetWindowRect(int hwnd, ref System.Drawing.Rectangle rect); private void button1_Click(object sender, EventArgs e) { System.Drawing.Rectangle rect = new System.Drawing.Rectangle(); GetWindowRect(button2.Handle.ToInt32(), ref rect); ClipCursor(ref rect); } private void button2_Click(object sender, EventArgs e) { int i = 0; ClipCursorA(ref i); } To ZengHD:我试了你的方法,好象不行,再试试zhuton的方法,一会揭贴 用C#将SQL2008数据导入到EXCEL 表格中,求源代码,急,在线等 C# tooltip如何换行呢? C#如何实现不同进程中的窗体互斥 c#怎么判断记录集到底最后 散分喽,呵呵,小问题麻烦一下大虾 用byte[]将不同类型文件(如:.bmp、.doc、.txt)存入数据库中后如何读取它们 remoting中,SERVER端能否定义一个事件的委托,SERVER中过程执行时触发这个事件,CLIENT端响应?? 请问有没有支持.net的免费的WEBTREE 武汉的兄弟散分了! datagrid打印问题? asp.net c# 调用存储出怪问题,请高人进来看一下. 数学公式问题
ok?再不行,让楼下给代码。
刚大概搜索了下这个api函数,它会影响到panel内的光标,其实是我没说清楚了,最主要目的是不想让用户通过鼠标控制panel内部的光标,从而达到只允许程序一步步设定光标移动到哪个控件(焦点在哪个控件上)
呵呵,这也是个思路,8错8错,看还有没有其他办法,暂时先试试这个方法
[DllImport("User32.dll")]
private static extern void ClipCursor(ref System.Drawing.Rectangle rect); [DllImport("User32.dll", EntryPoint = "ClipCursor")]
private static extern void ClipCursorA(ref int i); [DllImport("User32.dll")]
private static extern int GetWindowRect(int hwnd, ref System.Drawing.Rectangle rect); private void button1_Click(object sender, EventArgs e)
{
System.Drawing.Rectangle rect = new System.Drawing.Rectangle();
GetWindowRect(button2.Handle.ToInt32(), ref rect); ClipCursor(ref rect);
} private void button2_Click(object sender, EventArgs e)
{
int i = 0;
ClipCursorA(ref i);
}
我试了你的方法,好象不行,再试试zhuton的方法,一会揭贴