草庐IT

机械鼠标

全部标签

c# - 使用C#控制鼠标光标

我正在尝试使用C#编写一个程序,该程序允许我远程控制Windows计算机上的鼠标。这将允许我向鼠标发出命令以移动到屏幕的特定部分,然后单击屏幕的该部分。我想知道是否有任何C#类可以帮助我实现这一目标。感谢任何帮助。谢谢! 最佳答案 我认为除非您只是将光标定位在您自己的应用程序上,否则您必须使用WindowsAPI调用。您可以在C#中这样引用它:[DllImport("user32")]publicstaticexternintSetCursorPos(intx,inty);这里有一个更完整的Win32包装器类的源代码here

c# - 为什么 WPF 列表框会在按下鼠标按钮而不是按下按钮时更改选择?

我以前从未注意到这一点,但WPFListBox似乎在鼠标按下时更改了它的SelectedItem,但尚未释放。作为一个简单的例子,只需创建一个带有多个ListBoxItem的简单ListBox,如下所示:HelloWorldListBoxTest启动您的应用程序,按下鼠标按钮(不要松开它!)并四处移动鼠标。SelectedItem将随着鼠标移动而改变。这说明了更大的问题(至少对我而言),即在您按下鼠标时尽快设置ListBox的SelectedItem,而不是在鼠标松开时设置。通常这不是问题,但在我的例子中,我想在我的ListBox中的项目上启用拖放,而无需明确选择这些项目。我想我唯一的

c# - 在不访问 MouseEventArgs 的情况下获取鼠标状态?

我有一个包含很多很多控件的表单。我需要检测鼠标是向下还是向上。大多数时候,我没有MouseEventArgs。没有mouseEventArgs是否有一种快速简便的方法来判断鼠标是否按下?是否有替代方案,或者类似的方法是唯一的方法吗?:foreach(Controlcinthis.Controls){c.MouseUp+=newMouseEventHandler(globalMouseUp);c.MouseDown+=newMouseEventHandler(globalMouseDown);}boolisMouseUp=true;privatevoidglobalMouseDown(o

c# - 如何检测 PictureBox 上是否按下了鼠标按钮?

我需要在鼠标位于已单击并按住鼠标按钮的PictureBox上方时触发一个事件。问题:MouseDown和MouseEnter事件处理程序不能很好地协同工作。例如,一旦单击并按住鼠标按钮,C#将触发MouseDown事件处理程序,但是当光标移到PictureBox上时,MouseEnter事件不会触发,直到释放鼠标按钮。 最佳答案 当按下鼠标时,大多数控件将Control.Capture鼠标输入。这意味着所有MouseMove事件都被发送到捕获的原始控件,而不是鼠标恰好位于上方的控件。这一直持续到鼠标失去捕获,这通常发生在鼠标松开时。

c# - 在图表控件上显示鼠标轴坐标

是否有一种简单的方法来检索图表区域中任何点的X/Y坐标(当然是相对于该图表轴)?截至目前,我只是设法在鼠标位于系列(而不是外部)上时检索坐标privatevoidchart_GetToolTipText(objectsender,ToolTipEventArgse){if(e.HitTestResult.Series!=null){e.Text=e.HitTestResult.Series.Points[e.HitTestResult.PointIndex].YValues[0]+"\n"+DateTime.FromOADate(e.HitTestResult.Series.Point

c# - 空闲时间后隐藏鼠标光标

我想在空闲时间后隐藏我的鼠标光标,当我移动鼠标时它会显示出来。我尝试使用计时器,但效果不佳。有谁能够帮助我?请! 最佳答案 如果您使用的是WinForms并且只会部署在Windows机器上,那么它就很容易使用user32GetLastInputInfo处理鼠标和键盘空闲。publicstaticclassUser32Interop{publicstaticTimeSpanGetLastInput(){varplii=newLASTINPUTINFO();plii.cbSize=(uint)Marshal.SizeOf(plii);i

c# - 将鼠标移动到位置并左键单击

我正在使用C#、Framework4(32位)开发Windows窗体应用程序。我有一个包含鼠标坐标的列表,我可以捕获它们。到目前为止一切顺利。但在某些时候,我想转到那些坐标并用鼠标左键单击它。现在是这样的:for(inti=0;i还有点击类:classClicking{privateconstUInt32MOUSEEVENTF_LEFTDOWN=0x0002;privateconstUInt32MOUSEEVENTF_LEFTUP=0x0004;privatestaticexternvoidmouse_event(UInt32dwFlags,//motionandclickoption

c# - 当弹出窗口中的数据网格捕获鼠标时,wpf 弹出窗口不会自动关闭

我有一个带有StaysOpen=False的弹出窗口,所以我想通过单击弹出窗口之外的任意位置来关闭它。在弹出窗口中,我有一个DataGrid。如果我打开弹出窗口然后单击其他地方,弹出窗口将关闭。但如果在弹出窗口外单击之前我将单击DataGrid中的列标题,则不会发生这种情况。测试XAML:Open我认为这是因为列标题在单击时捕获鼠标并且弹出窗口不再接收鼠标事件。我试图在LostMouseCapture事件上添加一个处理程序,以便通过弹出窗口捕获鼠标,但它似乎并不那么容易工作。有什么想法吗? 最佳答案 也许它会有所帮助。附加行为:pu

c# - 如何在 WPF 中获取鼠标在屏幕上的位置?

它在一个特定的控件内起作用,但它不对特定的控件起作用。如何直接从屏幕获取鼠标位置并独立于任何控件使用鼠标事件(无需平台调用)?需要2个点:鼠标不在控件内但在屏幕上时的鼠标事件。鼠标不在控件内但在屏幕上时的鼠标位置。不使用PlatformInvoke应该可以解决。接下来的两个不起作用:System.Windows.Input.Mouse.GetPosition(this)不会将鼠标位置移出特定控件。System.Windows.Forms.Cursor.Position.XSystem.Windows.Forms.Cursor.Position不起作用,因为它在WPF应用程序中没有类型,

c# - 如何在 C# 中检查鼠标是否移动,同时鼠标左键按下

我需要找到一种方法来检查鼠标是否在c#中移动,同时左键按下。 最佳答案 这是一个示例(WPF):publicMainWindow(){InitializeComponent();this.MouseMove+=newMouseEventHandler(MainWindow_MouseMove);}voidMainWindow_MouseMove(objectsender,MouseEventArgse){if(e.LeftButton==MouseButtonState.Pressed){//dosomething}}