Tag: 鼠标滚轮

如何在墨迹上进行缩放和旋转?

使用以下XAML: Testing 我试图围绕图像的中心旋转,并使用滚轮鼠标进行缩放。 我已经设置了这个转换组和事件: public MainWindow() { InitializeComponent(); DataContext = new MainWindowViewModel(); transformGroup = new TransformGroup(); scaleTransform = new ScaleTransform(); rotateTransform = new RotateTransform(); translateTransform = new TranslateTransform(); transformGroup.Children.Add(rotateTransform); transformGroup.Children.Add(scaleTransform); transformGroup.Children.Add(translateTransform); imgViewbox.RenderTransform = transformGroup; imgViewbox.MouseWheel += ImageViewboxMouseWheel; } 旋转很简单: void Rotate(object sender, RoutedEventArgs e) { //imgViewbox.RenderTransformOrigin = new Point(0.5,0.5); rotateTransform.Angle += 90; } 但是缩放正在做各种奇怪的东西在屏幕上跳跃。 缩放代码在这里: […]

为什么我的应用程序没有获得鼠标滚轮倾斜消息?

在此问题中如何检测鼠标滚轮倾斜 ,发布并接受答案,显示所需的代码。 我已经在我的应用程序现有的WndProc方法中实现了该代码(该方法适用于我需要捕获的其他消息),但它不起作用。 我已经检查过,当我倾斜鼠标滚轮时, WndProc似乎没有任何消息,更不用说值为0x020E消息了。 我在安装了.NET 3.5 SP1的Windows XP SP3(完全修补)上使用Microsoft Wireless Laser 5000。 我已将我的Intellipoint驱动程序更新到日期为08/05/2009的版本7.0.258.0。 其他应用程序(例如Visual Studio,Word,paint.NET)正在逐渐使用鼠标滚轮,因此它必须是我的应用程序,但我看不出我做错了什么。 为了完整性,这是我的代码: protected override void WndProc(ref Message m) { Trace.WriteLine(string.Format(“0x{0:X4}”, m.Msg)); switch(m.Msg) { case WM_EXITSIZEMOVE: Opacity = 1.0; break; case WM_SYSCOMMAND: int command = m.WParam.ToInt32() & 0xfff0; if (command == SC_MINIMIZE && this.minimizeToTray) { MinimizeToTray(); } break; case WM_MOUSEHWHEEL: // […]

UserControl:如何添加MouseWheel Listener?

我正在创建一个UserControl,如果鼠标在控件上并且MouseWheel被旋转,它应该做出反应。 目前我正在这样做,如下所示: public MyUserControl() { this.MouseWheel += new MouseEventHandler(MouseWheelHandler); } private void MouseWheelHandler(object sender, System.Windows.Forms.MouseEventArgs e) { if (e.Delta > 0) incIndex(); if (e.Delta < 0) decIndex(); } protected override void OnMouseEnter(EventArgs e) { this.Focus(); base.OnMouseEnter(e); } 事实上这很好,但问题是“this.Focus();”的部分。 因为它破坏了我的表单/应用程序行为。 是否有更好的方法来实现这一目标?

使用带有滚动条的任何控件时,不会触发MouseWheel事件(在C#Windows窗体中)

当我使用带有滚动条的任何控件(ListBox,Panel,TextBox)时,MouseWheel事件不会触发。 重现问题: public class Form1 : Form { private readonly Button button1; private readonly TextBox textBox1; private void button1_MouseWheel(object sender, MouseEventArgs e) { ToString(); // doesn’t fire when uncomment lines below } public Form1() { button1 = new Button(); textBox1 = new TextBox(); SuspendLayout(); button1.Location = new System.Drawing.Point(80, 105); button1.Size = new System.Drawing.Size(75, 23); button1.MouseWheel […]

鼠标滚轮事件未触发

我已经看过这个关于完全相同的问题的线程 ,但该解决方案对我不起作用。 基本上我想要完成的是当用户与Windows窗体上的图表控件交互时的鼠标滚轮事件。 现在我尝试了一些不同的东西。 public mainForm() { InitializeComponent(); this.chData.MouseWheel +=new MouseEventHandler(chData_MouseWheel); } 我也尝试将其添加到mainForm.Designer.cs: this.chData.TabIndex = 2; this.chData.Text = “chart2”; this.chData.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.chData_MouseWheel); this.chData.MouseClick += new System.Windows.Forms.MouseEventHandler(this.chData_MouseClick); this.chData.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.chData_MouseDoubleClick); this.chData.MouseMove += new System.Windows.Forms.MouseEventHandler(this.chData_MouseMove); (我已将整个区块包括在内以供演示)。 我也有如下定义的function: private void chData_MouseWheel(object sender, MouseEventArgs e) { MessageBox.Show(“FJDKS”); } 不幸的是我无法解决这个问题? 谁能告诉我哪里出错了? 提前致谢!