我需要获取鼠标在窗体中单击的位置,并保存x
和y
坐标。我做了这个简单的功能:如何调用该函数?
public void kokot (MouseEventArgs e)
{
x = e.X;
y = e.Y;
this.Invalidate();
}
我该怎么称呼它?当我尝试kokot()
它当然不起作用,因为没有参数。那么我应该在这种情况下使用什么论点?预先感谢您的帮助。
我需要获取鼠标在窗体中单击的位置,并保存x
和y
坐标。我做了这个简单的功能:如何调用该函数?
public void kokot (MouseEventArgs e)
{
x = e.X;
y = e.Y;
this.Invalidate();
}
我该怎么称呼它?当我尝试kokot()
它当然不起作用,因为没有参数。那么我应该在这种情况下使用什么论点?预先感谢您的帮助。
public Form1()
{
InitializeComponent();
this.MouseClick += new MouseEventHandler(Form1_MouseClick);
}
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
int x = e.X;
int y = e.Y;
this.Invalidate();
}
添加超负荷接受两个整数功能:
public void kokot (int X, int Y)
{
x = X;
y = Y;
this.Invalidate();
}
然后调用它像这样在你的代码的任何地方:
Point position = System.Windows.Forms.Cursor.Position;
kokot(position.X, position.Y);
您需要subcsribe的形式鼠标点击事件。
this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseClick);
不是C#程序员,所以给人只是一个小提示:你可能要kokot设置为事件处理程序。事件处理程序是一些函数,当事件触发时,它们不会直接调用,而是被某些库“回调”(因此称为“回调函数”)。 – gd1 2011-04-26 15:12:51
Winform或Webform? :| 。 @Felice Pollano:我想也许他只是不知道如何“选择”一个正确答案:) – Maidot 2011-04-26 15:18:51
这不是事件处理函数的正确签名。为什么不让Visual Studio自动为您创建这些? – 2011-04-26 15:20:08