c# - 检测图片框上的鼠标拖动的事件处理程序(winforms,c#)

标签 c# .net winforms event-handling

我正在制作简单的绘图应用程序,只要有人按住鼠标按钮并拖动(就像在 Windows 绘图中一样),就会在其中绘制一条线。

但是我很难为此找到合适的事件处理程序。 MouseDown 根本不起作用,而 MouseClick 只是在我按下鼠标时记下点。

在这件事上需要帮助。

谢谢。

最佳答案

处理 MouseDown 并将 bool 变量设置为 true。处理 MouseMove 并且,如果该变量设置为 true 并且鼠标的移动高于所需的阈值,则进行操作。处理 MouseUp 并将该变量设置为 false。

例子:

bool _mousePressed;
private void OnMouseDown(object sender, MouseEventArgs e)
{
    _mousePressed = true;
}

private void OnMouseMove(object sender, MouseEventArgs e)
{
    if (_mousePressed)
    {
        //Operate
    }
}

private void OnMouseUp(object sender, MouseEventArgs e)
{
    _mousePressed = false;
}

关于c# - 检测图片框上的鼠标拖动的事件处理程序(winforms,c#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13917481/

相关文章:

c# - 输入字符串的格式不正确以及如何学习 C#

c# - 将 MySQL Decimal 数据类型转换为 C# float 数据类型

c# - 连接到 RFID 阅读器时出错 : The maximum baud rate for the device is 8190

c# - 标签中未显示 Unicode 特殊字符

c# - WPF 静态属性绑定(bind)不适用于 ListView

.net - NuGet 解决错误版本的包依赖

.net - 为什么通过 net.tcp 比 HTTP 更难启用 SSL(传输安全)?

.net - (any == System.DBNull.Value) vs (any is System.DBNull)

c# - 暂时取消订阅事件的巧妙解决方案

c# - 在图片框内动态创建点/正方形