c# 在pictureBox画矩形mouse到矩形边上时边线变成绿色
时间: 2023-06-26 16:08:05 浏览: 49
您可以使用 `MouseEnter` 和 `MouseLeave` 事件来实现这个效果。
首先,您需要在 `PictureBox` 上创建一个矩形。然后,在 `MouseEnter` 事件中,您可以更改矩形的边框颜色为绿色。而在 `MouseLeave` 事件中,您可以将边框颜色恢复到原来的颜色。
以下是示例代码:
```csharp
private Rectangle rectangle = new Rectangle(50, 50, 100, 100); // 创建一个矩形
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawRectangle(Pens.Black, rectangle); // 在 PictureBox 中绘制矩形
}
private void pictureBox1_MouseEnter(object sender, EventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, rectangle, Color.Green, ButtonBorderStyle.Solid); // 更改边框颜色为绿色
}
private void pictureBox1_MouseLeave(object sender, EventArgs e)
{
pictureBox1.Invalidate(); // 刷新控件,恢复原来的边框颜色
}
```
在上面的代码中,我们在 `pictureBox1_Paint` 事件中绘制了矩形,并在 `pictureBox1_MouseEnter` 事件中使用 `ControlPaint.DrawBorder` 方法更改了矩形的边框颜色为绿色。而在 `pictureBox1_MouseLeave` 事件中,我们只需刷新控件即可恢复原来的边框颜色。