【闻所未闻】两个窗口叠加在一起,一个窗口中的鼠标事件如何传递到另一个窗口中?

vpoint2009 2011-03-08 09:14:30
RT
两个窗口叠加在一起,在上方的窗口上点击鼠标,能否模拟到下面那个窗口同样位置的效果呢?比如上方窗口某位置是空白什么都没有但是窗口在上方,下方窗口是按钮,我在上方窗口点击这个位置,结果触发了下方窗口的按钮事件。
...全文
164 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
effun 2011-03-08
  • 打赏
  • 举报
回复
很久以前做过一个桌面闹钟的程序,可以达到穿透的效果,应该是你想要的东西。

http://blog.csdn.net/effun/archive/2007/12/27/1995879.aspx
vpoint2009 2011-03-08
  • 打赏
  • 举报
回复
感谢ls两位兄弟!仔细看看你们的思路......
zjx198934 2011-03-08
  • 打赏
  • 举报
回复
也是一个窗体间通信的扩展,给你一个列子,根据自己的需求修改!

给你一个思路: 你模拟的是鼠标事件,那么当你点击一个窗体的按钮时肯定会出发一个方法,而另一个窗体也拥有这个方法并同时出发!

还有一个思路就是穿坐标,模拟点击!


Form2中先定义一个delegate
public delegate void returnvalue( int i );
public returnvalue ReturnValue;
form2 中的button按钮代码如下:
private void button1_Click(object sender, System.EventArgs e)
{
if ( ReturnValue != null )
ReturnValue( 8 );
}

Form1中的button按键如下:
private void button1_Click(object sender, System.EventArgs e)
{
Form2 temp = new Form2( );
temp.ReturnValue = new temp.Form2.returnvalue( showvalue );
temp.Show();
}

private void showvalue( int i )
{
textBox1.Text = i.ToString();
}

点击form2的button,form1中的textbox中的值就会相应变化。
tellxp 2011-03-08
  • 打赏
  • 举报
回复
A和B两个窗口,A在上,B在下,在B中声明一个A,并且添加A的鼠标的单击事件方法(+=),然后把A的实例在合适的时候传递给B,就可以了
kid_wang 2011-03-08
  • 打赏
  • 举报
回复
可以的。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧