实现绘制状态时右击鼠标退出绘制状态并清除临时绘制的功能

This commit is contained in:
zqm
2025-11-07 11:27:18 +08:00
parent f198e9dfa2
commit 62828dc363

View File

@@ -59,6 +59,7 @@ namespace JoyD.Windows.CS
// 注册鼠标事件 // 注册鼠标事件
picBoxTemp.MouseClick += PicBoxTemp_MouseClick; picBoxTemp.MouseClick += PicBoxTemp_MouseClick;
picBoxTemp.MouseDown += PicBoxTemp_MouseDown;
// 初始隐藏颜色选择按钮,只有在绘制模式下才显示 // 初始隐藏颜色选择按钮,只有在绘制模式下才显示
btnSelectColor.Visible = false; btnSelectColor.Visible = false;
@@ -77,6 +78,36 @@ namespace JoyD.Windows.CS
} }
} }
/// <summary>
/// 鼠标按下事件 - 处理右击退出绘制状态
/// </summary>
private void PicBoxTemp_MouseDown(object sender, MouseEventArgs e)
{
// 检查是否处于绘制状态且右击鼠标
if (_isDrawingMode && e.Button == MouseButtons.Right)
{
// 退出绘制状态
_isDrawingMode = false;
btnDrawRegion.Checked = false;
// 重置鼠标光标
picBoxTemp.Cursor = Cursors.Default;
// 清除临时绘制
_currentRectangle = Rectangle.Empty;
_isDrawing = false;
// 隐藏颜色选择按钮
btnSelectColor.Visible = false;
// 更新按钮提示文本
btnDrawRegion.ToolTipText = "绘制区域(点击开启)";
// 刷新绘制
picBoxTemp.Invalidate();
}
}
/// <summary> /// <summary>
/// 绘制区域按钮点击事件 /// 绘制区域按钮点击事件
/// </summary> /// </summary>