Tag: mousemove

如何在运行时移动鼠标移动控件?

我有一个WinForm应用程序,我正在尝试使用MouseMove Event在一个表单中移动一个pictureBox,但我无法弄清楚我应该在MouseMove上做什么是正确的计算,当我第一次使用pictureBox时,它的位置变化无意义然后移动pictureBox位置移动正确。 它是一个Panel名称OuterPanel ,它包含pictureBox picBox ,这里的代码我正在使用: private void picBox_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { Point p = OuterPanel.PointToClient(MousePosition); picBox.Location = this.PointToClient(p); } } PS:目标是在放大后移动图像,如Windows照片查看器 更新 : ConvertFromChildToForm方法 private Point ConvertFromChildToForm(int x, int y,Control control) { Point p = new Point(x, y); control.Location = p; return p; }

如何拖动DataPoint并在Chart控件中移动它

我希望能够抓取图表中绘制的数据点并移动它并通过将其拖动到图表控件上来更改其位置。 我怎么能够 .. ..抓住具体的系列点(系列名称=“我的系列”) 释放时,系列点应改变其位置/值 这就像使用拖动事件使系列点可移动一样。 这里的颜色点(点)应该能够移动: 有些图表如devExpress图表执行此任务但我想在正常的MS图表中执行此操作。

将子控制MouseMove事件无缝转发给父级

我有一个使用GDI +绘制的自定义UserControl。 它是一个透明控件,在父控件的顶部绘制小形状。 所有父窗口都创建控件,为其绘制一个Rectangle以在其中绘制自身,然后在用户单击非透明区域时接收事件。 绘图部分工作正常,但现在我需要做的是尽可能无缝地将所有MouseMove,MouseClick等事件转发到父控件,如果这些事件发生在形状之外。 使用GraphicsPath绘制形状,我已经能够使用GraphicsPath.IsVisible()检测鼠标位置是否在形状上。 我希望以一种在父级上需要零或最少额外代码的方式执行此操作。 父母不一定知道MouseMove事件是否是从子控件转发的,它应该平等对待它们。 我必须使用pinvoke / SendMessage()来执行此操作吗? 或者使用.NET框架有更简单的方法吗?

如何跟踪鼠标X / Y位置并将其打印到标签?

我知道如何从MSDN上的示例修改游标位置。 我的问题是如何在鼠标移动时检查鼠标的位置,然后将X和Y位置打印到代表标签? 编辑:让我们说我想从我的整个屏幕跟踪我的鼠标位置。 编辑2:我的应用程序将在后台/最小化。 我已经在使用Mouse Hooks了: namespace Program { public partial class MouseHook { [DllImport(“user32.dll”, CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] private static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, IntPtr dwExtraInfo); private const int MOUSEEVENTF_LEFTDOWN = 0x02; private const int MOUSEEVENTF_LEFTUP = 0x04; private const int MOUSEEVENTF_RIGHTDOWN = 0x08; private const […]

防止鼠标离开我的表格

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

DoDragDrop禁用MouseMove事件

在DragDrop.DoDragDrop(…)开始拖放操作后,不再触发MouseMove事件。 我甚至试过了 AddHandler(Window.MouseMoveEvent, new MouseEventHandler(myControl_MouseMove), true); 最后一个参数意味着我甚至选择处理事件。 没有机会,似乎MouseMove事件根本就没有被解雇! 使用Drag&Drop时还能获得MouseMove事件的任何方法吗? 我想拖放一个控件,拖动这个控件时它应该跟随鼠标指针。 知道在这种情况下如何做到这一点?

如何在C#中使用鼠标绘制和移动形状

我是C#编程的新手,想要求一些帮助。 我正在尝试使用鼠标左键移动我在Windows应用程序表单上绘制的颜色填充矩形,我正在尝试使用鼠标右键将其拖放到另一个位置。 目前我已设法绘制矩形,但右键单击是拖动整个表单。 这是我的代码: public partial class Form1 : Form { private Point MouseDownLocation; public Form1() { InitializeComponent(); this.DoubleBuffered = true; } Rectangle rec = new Rectangle(0, 0, 0, 0); protected override void OnPaint(PaintEventArgs e) { e.Graphics.FillRectangle(Brushes.DeepSkyBlue, rec); } protected override void OnMouseDown(MouseEventArgs e) { if (e.Button == MouseButtons.Left) { rec = new Rectangle(eX, eY, […]

防止控件移出其容器

这个问题与我的另一个问题有关,可以在这里找到 。 我想在其父容器中移动一个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 […]

模拟鼠标移动(C#)

我如何制作一个不断向上移动鼠标的小程序? 对于那些想知道的人来说,这是一个很小的用途。 我正在玩星球大战释放的力量。 在控制台版本中,您可以向上按住右键。 在PC上的坏控制台端口,您正在使用鼠标。 也许你能理解我的沮丧。

如何在FormBorderStyle属性设置为None时移动Windows窗体?

使用C#。 我试图移动一个没有标题栏的Form 。 我发现了一篇关于它的文章: http : //www.codeproject.com/KB/cs/csharpmovewindow.aspx 只要我没有将FormBorderStyle设置为None它就可以工作。 有没有办法让它使用此属性设置为None ?