Panel控件绘制边框的问题。

dacan66 2010-01-31 06:03:42
我想给Panel控件定制一些边框效果。
在MouseIn的时候显示一种色彩,
在MouseOut的时候显示另一种色彩,

当前我的做法是:
Graphics g = Panel.CreateGraphics();
private void Panel_MouseEnter(object sender, EventArgs e)
{
ControlPaint.DrawBorder(g, this.ClientRectangle, Color.Red, 2, ButtonBorderStyle.Solid, Color.Red, 3,
ButtonBorderStyle.Solid,
Color.Red,
3,
ButtonBorderStyle.Solid,
Color.Red,
3,
ButtonBorderStyle.Solid);
}
void Panel_MouseLeave(object sender, EventArgs e)
{
g.Clear(this.BackColor);
}

但是我发现一个问题,就是绘制出来的边框无法填满整个边框,如图:

红色的为我绘制的边框,我将BorderStyle设置为Fixed,
可以清晰地看到,用GDI绘制的边框没有将整个Panel覆盖住,
求达人指教。
...全文
228 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2010-01-31
  • 打赏
  • 举报
回复
使用Line控件画线,用Shape画矩形。
dacan66 2010-01-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caozhy 的回复:]
其实使用Visual Basic PowerPacks组里面的Line就可以了。
[/Quote]
方便细说吗?
threenewbee 2010-01-31
  • 打赏
  • 举报
回复
其实使用Visual Basic PowerPacks组里面的Line就可以了。

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧