Tag: mouseevent

如何在WPF / C#中使用特定坐标引发鼠标事件?

我想通过在WPF窗口中的任意位置进行用户单击并按已知差异进行翻译来引发鼠标事件(单击,mousedown或mouseup),例如单击x,y,在x +处引发单击事件100,y + 100。 根本问题在于显示监视器相对于覆盖的触摸屏物理移动。 我不想在每次移动时重新校准触摸屏,而是想将翻译偏移量添加到click事件中。 我查看了用于mouse_event的Win32 API及其取代函数SendInput。 我承认我迷失了,因为我对API不是很熟悉。 当然这是一个需要解决的简单问题,但我无法在任何地方找到能够实现解决方案的示例代码。 任何有关如何将此添加到我的代码后面的帮助,指针或实例都将不胜感激。 谢谢马克

在C#中找到鼠标的速度

如何在鼠标释放的确切时刻找到鼠标的瞬时垂直速度? 我有用户拖动自定义控件,当他们发布时我需要知道这些信息,所以我可以使用速度的垂直分量继续他们拖动的对象… 例如,如果他们以某个角度拖动,请使用trig来确定垂直速度,然后使用它。 我不能随着时间的推移做距离,因为鼠标可以以不规则的速度移动,这根本不代表正确的速度。 我在想我可以使用MouseMove的触发器之间可能存在特定的间隔,但我不确定。

MouseLeftButtonUp不会触发

我有一个Button 但问题是,与MouseLeftButtonDown不同,事件MouseLeftButtonUp不会触发。 为什么? 我该如何解决? 谢谢。

WPF如何动态创建文本框并在按钮单击时找到文本框?

我正在使用以下代码动态创建TextBox和Button : Button btnClickMe = new Button(); btnClickMe.Content = “Click Me”; btnClickMe.Name = “btnClickMe”; btnClickMe.Click += new RoutedEventHandler(this.CallMeClick); someStackPanel.Childern.Add(btnClickMe); TextBox txtNumber = new TextBox(); txtNumber.Name = “txtNumber”; txtNumber.Text = “1776”; someStackPanel.Childern.Add(txtNumber); 我点击了Click Me按钮的点击事件。 单击我按钮甚至被正确触发。 但是我找不到动态输入的TextBox 。 这是我点击我的活动: protected void ClickMeClick(object sender, RoutedEventArgs e) { // Find the phone number TextBox txtNumber = this.someStackPanel.FindName(“txtNumber”) as TextBox; […]

防止鼠标离开我的表格

我已经将一些MouseMove和MouseClick事件附加到我的程序中,接下来就是其中之一: 获得“全局”鼠标移动,这样我甚至可以在窗体外读取鼠标位置。 首先防止我的鼠标离开表单。 我的项目是一个游戏,因此像大多数其他游戏一样阻止鼠标离开我的形状真是太棒了(如果你用alt + tab fe切换焦点,你可以把它移出来),并看看其他人的答案。要求全球摩苏运动的问题,他们似乎对我的需求非常混乱。 有一种简单的方法可以阻止我的鼠标走出我的表格边界吗? 或者实际上为了防止它首先超出边界,我希望鼠标留在客户区域内。 有关游戏的其他信息: 游戏是一个短暂的,长达5到30秒的生存游戏(在你活着的30秒后变得太难了)你必须用你的鼠标躲避子弹。 当你将鼠标移出表格然后播放器(连接到鼠标的System.Windows.Forms.Panel )停止移动并立即被子弹击中时,这真的很烦人。 这就是为什么防止鼠标离开该区域会很好。

WPF:Slider不会引发MouseLeftButtonDown或MouseLeftButtonUp

我试过这个XAML: 这个C#: private void slider_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { sliderMouseDown = true; } private void slider_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { sliderMouseDown = false; } sliderMouseDown变量永远不会更改,因为从不引发MouseLeftButtonDown和MouseLeftButtonUp事件。 当用户在滑块上按下鼠标左键以将bool值设置为true时,如何使用此代码,并且当鼠标启动时,bool设置为false?

在不移动光标的情况下执行鼠标单击

除了用Cursor类移动光标,单击mouse_event然后将光标移动到旧位置,我找不到任何解决方案。 我现在正在使用SendInputfunction,但仍然没有机会获得一个好的解决方案。 任何建议?

防止控件移出其容器

这个问题与我的另一个问题有关,可以在这里找到 。 我想在其父容器中移动一个PictureBox ,这是一个TabPage (如果它确实有任何区别!)使用下面的代码可以完成移动: private Point start = Point.Empty; private bool _mapPackageIsMoving; void pictureBoxPackageView_MouseUp(object sender, MouseEventArgs e) { _mapPackageIsMoving = false; } void pictureBoxPackageView_MouseMove(object sender, MouseEventArgs e) { if (_mapPackageIsMoving) { pictureBoxPackageView.Location = new Point( pictureBoxPackageView.Left + (eX – start.X), pictureBoxPackageView.Top + (eY – start.Y)); } } void pictureBoxPackageView_MouseDown(object sender, MouseEventArgs e) { start […]

WPF将MouseDown和TouchDown结合到同一事件中

我正在开发一款应用程序,将用于带触摸屏的笔记本电脑上。 因此,MouseDown事件基本上是在做同样的动作,应该怎么做。 我写的代码是这样的 – XAML C# private void Button_OnMouseDown(object sender, MouseButtonEventArgs e) { Action(); } private void Button_OnTouchDown(object sender, TouchEventArgs e) { Action(); } private void Action() 有一个更好的方法吗? 任何反馈都表示赞赏。

WPF MouseDown事件在控件中无处处理

我目前正在与另一场WPF斗争作斗争,即mouseEvents。 我基本上有一个非常简单的控件(一个包含Grid的Border ,它本身有一些TextBlocks )。 我试图实现一个简单的行为:双击应该将控件转换为编辑模式(实际上隐藏TextBlocks与TextBoxes绑定到相同的数据。 没什么好看的吧? 好吧,我在挣扎。 链接到我的UserControl的MouseDoubleClick只是在我点击一个控件时触发(比如,点击一个文本块)。 如果我单击TextBlocks之间的空白区域,则不会触发任何内容。 MouseDown甚至都没有。 我怎么能让它工作以便抓住每一次鼠标点击? 我假设将MouseDown事件链接到Border应该捕获Border上的每次单击但是……它最终没有捕获边框空白部分的点击。 这是我为您制作的一些代码草案: XAML: 代码背后: private void Border_MouseDown(object sender, MouseButtonEventArgs e) { thetext.Visibility = Visibility.Visible; } private void Border_mouseUp(object sender, MouseButtonEventArgs e) { thetext.Visibility = Visibility.Collapsed; } 现在尝试单击其中一个“BLUFF”文本:将出现“已点击”文本。 尝试点击TextBlocks之间的其他地方:没有任何反应。 谢谢!