下面的代码显示每500毫秒在控制台中的鼠标位置。我试图找出如何只在左键单击发生时显示鼠标位置。 它现在在下面做的例子。
//reference an accessible type to get the assembly fast and easy
var asm = typeof (Microsoft.TeamFoundation.Build.Controls.AzureEditor).Assembly;
//get the desired type
var type = asm.GetTypes().Single(x => x.Name == "ServerFileBrowserEditor");
//get the constructor
var ctor = type.GetConstructor(Type.EmptyTypes);
//create the object by invoking the constructor
var obj = ctor.Invoke(null);
我想在屏幕上的任何地方左键单击并打印到与之相对的控制台,它会不断地连续打印。
答案 0 :(得分:0)
您需要使用事件驱动编程。
this.MouseClick += mouseClick;
private void mouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Trace.WriteLine("Mouse clicked");
Console.WriteLine(Cursor.Position.ToString());
}
}
我没有看到你的整个代码,但你明白了。
如需进一步阅读,请在C#和代表中搜索事件驱动编程。
一个好的教程:http://www.codeproject.com/Articles/1008553/Event-Driven-Programing-in-NET