c#中 鼠标位置弹出新窗体怎么做?

2025-03-04 19:07:39
推荐回答(3个)
回答1:

假设Form1,Form2
Form1 是程序开始就显示出来的 Form2 是单击显示的

不是有个 MouseDown的方法吗?

用那个

在设置一个全局变量 Point NewFormL;

在 MouseDown方法里面写上

if(e.Button==MouseButtons.Left)
{
NewFormL=e.Loction;//Loction 这个名字不大记得了 记得是L开头的
}

//MouseDown 这个方法是Form1的

在要显示窗体的那个里面写上

Form2 f2 = new Form2();
f2.Loction=NewFormL;
f2.Show();
//不清楚你需要什么样的显示方法

/////////////////////////////////////////////////////////
如果以上有显示错误 就是位置不对的话用:

Form1,Form2和NewFormL 和上面的定义是一样的

在Form1的Load事件里面写上

NewFormL=Current.Point;//Current 这个不大记得了 是 Curr 这个开头的一个单词

在按钮的单击事件里面写上
Form2 f2 = new Form2();
f2.Loction=NewFormL;
f2.Show();

回答2:

Form2 frm = new Form2();
frm.StartPosition = FormStartPosition.Manual;
frm.Location = new Point( Cursor.Position.X,Cursor.Position.Y);
frm.Show();

放在A控件的单击时间里。我是放在 button 里试的,可以实现你要的功能

回答3:

我这有源码,可以给你