[英]How can I perform a mouse click at certain cursor position using a KeyUp key?
所以在构造函数中我有这个
KeyUp += WindowKeyUp;
在我拥有的方法中, x和y是我从另一种方法得到的点。
private void DoMouseClick(int x, int y)
{
SetCursorPos(x, y);
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, x, y, 0, 0);
}
因此,当我释放空格键时,应该在此处写什么以在特定光标位置执行鼠标单击操作?
private void WindowKeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key == Key.Space)
{
//what to write here?
}
}
提前致谢!
我以某种方式同意这可能是XY问题。 但是由于我们不知道其背后的实际用例,因此我将向您展示如何获取最后的x和y。
您可以对鼠标移动事件做出反应,以存储x和y,并在收到按键事件时使用该信息。
她是XAML的一部分:
<StackPanel KeyDown="StackPanel_KeyDown" MouseMove="StackPanel_MouseMove">
这里是处理程序:private void DoMouseClick(double x,double y){// ...}
private double m_x = 0.0;
private double m_y = 0.0;
private void StackPanel_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
{
var p = e.GetPosition(this);
m_x = p.X;
m_y = p.Y;
}
private void StackPanel_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key == System.Windows.Input.Key.Space) {
DoMouseClick(m_x, m_y);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.