DrawLine 画线问题!!

pfworld 2009-08-08 01:54:41

//字体左边到上最左边线
x0 = m_gap - 2;
y0 = xy;
x1 = 0;
y1 = xy;
g.DrawLine(forePenDark, x0, y0, x1, y1);
g.DrawLine(forePen, x0, y0 + 1, x1, y1 + 1);

//上最左边线到最左边下线
x0 = 0;
y0 = xy;
x1 = 0;
y1 = this.Height;
g.DrawLine(forePenDark, x0, y0, x1, y1);
g.DrawLine(forePen, x0 + 1, y0 + 1, x1 + 1, y1);

//下最左边线到下最右边下线
x0 = 0;
y0 = this.Height;
x1 = this.Width;
y1 = this.Height;
g.DrawLine(forePenDark, x0, y0, x1, y1);
g.DrawLine(forePen, x0, y0 + 3, x1, y1 +3);

//下最右边线到上最右边上线
x0 = this.Width;
y0 = this.Height;
x1 = this.Width;
y1 = xy;
g.DrawLine(forePenDark, x0, y0, x1, y1);
g.DrawLine(forePen, x0 + 2, y0, x1 + 2, y1);

//上最左边线到最左边下线
x0 = this.Width;
y0 = xy;
x1 = (int)stringSize.Width + m_gap;
y1 = xy;
g.DrawLine(forePenDark, x0, y0, x1, y1);
g.DrawLine(forePen, x0 - 2, y0 + 1, x1, y1 + 1);


或者


Point[] pArr = new Point[6];
pArr[0].X = m_gap - 2;
pArr[0].Y = xy;
pArr[1].X = 0;
pArr[1].Y = xy;
pArr[2].X = 0;
pArr[2].Y = this.Height;
pArr[3].X = this.Width;
pArr[3].Y = this.Height;
pArr[4].X = this.Width;
pArr[4].Y = xy;
pArr[5].X = (int)stringSize.Width + m_gap;
pArr[5].Y = ClientRectangle.Top + (int)(Font.Height / 2f);

g.DrawLines(forePenDark, pArr);
...全文
487 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
箭神小傲 2012-09-07
  • 打赏
  • 举报
回复
请问 那画的线 如何让它消失呢?
zcw840421 2009-08-10
  • 打赏
  • 举报
回复
接分
twinsensxu 2009-08-10
  • 打赏
  • 举报
回复
接分吧!
dylike 2009-08-10
  • 打赏
  • 举报
回复
任何控件,用GRAPHICS绘制时,都是在其"内部",既然是内部,就有个缩减的过程.一般都是width-1,height-1
三眼 2009-08-08
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分
ztenv 2009-08-08
  • 打赏
  • 举报
回复
看看DEV Express吧,有破解的,
chaozi_249 2009-08-08
  • 打赏
  • 举报
回复
GroupBox样式,没有接触过,请你楼主有没有画过类似 xp按钮的 TextBox的样式 就是没有棱角滴
chaozi_249 2009-08-08
  • 打赏
  • 举报
回复
接分咯,嘎嘎
qqiuzaihui 2009-08-08
  • 打赏
  • 举报
回复
UP, JF
pfworld 2009-08-08
  • 打赏
  • 举报
回复
问题已经解决!!回复的送分了!

另:寻求好的GroupBox样式!!
wzuomin 2009-08-08
  • 打赏
  • 举报
回复
溢出?

y0 = xy; ?
wzuomin 2009-08-08
  • 打赏
  • 举报
回复
最右边线和最下边线超出控件范围了吧?

试试这么着行不行?
//下最右边线到上最右边上线
x0 = this.Width-3;
y0 = this.Height;
x1 = this.Width-3;
y1 = xy;
g.DrawLine(forePenDark, x0, y0, x1, y1);
g.DrawLine(forePen, x0 + 2, y0, x1 + 2, y1);
pfworld 2009-08-08
  • 打赏
  • 举报
回复
原来是益处了!!晕!!
dancingbit 2009-08-08
  • 打赏
  • 举报
回复
使用DrawLines方法。
pfworld 2009-08-08
  • 打赏
  • 举报
回复
//下最左边线到下最右边下线
x0 = 0;
y0 = this.Height;
x1 = this.Width;
y1 = this.Height;
g.DrawLine(forePenDark, x0, y0, x1, y1);
g.DrawLine(forePen, x0, y0 + 3, x1, y1 +3);

//下最右边线到上最右边上线
x0 = this.Width;
y0 = this.Height;
x1 = this.Width;
y1 = xy;
g.DrawLine(forePenDark, x0, y0, x1, y1);
g.DrawLine(forePen, x0 + 2, y0, x1 + 2, y1);


老是画不出!!

就是画一个带有标题的矩形!象GroupBox一样!!

pfworld 2009-08-08
  • 打赏
  • 举报
回复
为什么画线的时候老是画不全!!

111,098

社区成员

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

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

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