草庐IT

鼠标切换

全部标签

c# - 如何根据鼠标位置从文本框中获取特定文本值

我有一个多行文本框,它根据给定的数据显示一些值(通常每行一个值)。(为了让工具提示弹出一些“替代”数据)我想得到鼠标悬停在上面的词(或者至少是一行),这样我就可以找到替代方法显示。关于如何根据文本框和字体大小进行计算,我有一些想法,但我不知道该怎么做,因为大小和字体可能会经常变化。那么...有什么方法可以使用鼠标位置来抓取特定的文本框文本吗? 最佳答案 这是一个替代解决方案。将此MouseMove事件添加到您的文本框:privatevoidtxtHoverWord_MouseMove(objectsender,MouseEventA

c# - Silverlight 切换按钮分组

我正在开发一个Silverlight应用程序,我想创建一个由5个切换按钮(用于菜单选项)组成的分组,这些按钮在被单击时会产生动画效果(尺寸会增大),并且还会导致组中任何之前单击的按钮取消单击并产生动画效果回到缩小后的尺寸。我知道我可以使用蛮力方法,让应用程序直接知道每个按钮,但如果我添加或更改菜单(添加/删除按钮),我必须记住修改代码(这是不好,因为我很健忘)。有没有一种方法可以更智能地对按钮进行分组,以便在单击一个按钮时可以告诉组中的所有其他按钮取消单击?谢谢!托德 最佳答案 特别感谢MichaelS.Scherotter为我指明

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# - 如何在 C# 中使用低级键盘钩子(Hook)来抑制任务切换键(winkey、alt-tab、alt-esc、ctrl-esc)

谁能告诉我如何使用C#禁用任务切换键 最佳答案 我有完整的代码来禁用Windows键,Alt+Tab等等..现在我提供以下代码供其他人引用:/*CodetoDisableWinKey,Alt+Tab,Ctrl+EscStartsHere*///Structurecontaininformationaboutlow-levelkeyboardinputevent[StructLayout(LayoutKind.Sequential)]privatestructKBDLLHOOKSTRUCT{publicKeyskey;publicin

c# - 如何在 Visual Studio 2012 中切换(或突出显示)同一解决方案的项目?

我是VisualStudio的新手,这个问题已经困扰我好几天了。我在VisualStudio2012中的同一个解决方案中有两个项目。在我的解决方案管理器中,其中一个被突出显示,所以当我在没有调试的情况下启动它时Ctrl+F5突出显示的那个开始。如何突出显示(然后按下Ctrl+F5)启动其他项目?无需关闭并重新打开项目。 最佳答案 右键单击->设置为启动项目。 关于c#-如何在VisualStudio2012中切换(或突出显示)同一解决方案的项目?,我们在StackOverflow上找到一

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

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

c# - 如何停止 Resharper 在 Enumerable.ToList 和 Select 建议之间切换

如果我使用Resharper代码清理功能,我会找到我的代码......varpersonInfos=persons.Select(Mapper.Map).ToList();改为...varpersonInfos=Enumerable.ToList(persons.Select(Mapper.Map));但随后Resharper为Enumerable.ToList提出了“Toextensionmethodinvocation”的建议,因此代码返回到...varpersonInfos=persons.Select(Mapper.Map).ToList();我已经检查了Resharper代码

c# - 切换大小写,检查 C# 3.5 中的范围

这个问题在这里已经有了答案:Multiplecasesinswitchstatement(24个答案)Switchcase:canIusearangeinsteadofaonenumber[duplicate](16个答案)关闭1年前。在C#中,switch语句不允许case跨越值的范围。我不喜欢为此目的使用if-else循环的想法,那么还有其他方法可以在C#中检查数值范围吗?