日期:2014-05-19  浏览次数:20985 次

怎么样将label控件的文本加一个点划线的框
怎么样将label控件,text输入内容后在,输入的内容上加一个点划线的框
由点组成的矩形,text文本在这个矩形框内


之前这个问题问过了,也得到了解决,代码如下:
给Label添加Paint事件,代码如下:

private   void   label1_Paint(object   sender,   PaintEventArgs   e)
{
        ControlPaint.DrawFocusRectangle(e.Graphics,   this.label1.ClientRectangle);
}


但是现在的问题是,这个框是加上了,但是我想叫这个框大一圈,而且点划线明显点,怎么做。

谢谢各位大哥,帮忙看看啊!

------解决方案--------------------
如果大一些,你可以把label的自动大小设置为False,并调整为合适大小。
然后你可以使用e.Graphics.DrawRectangle来绘制,找一个是点的画笔就可以了。

比如:

private void label1_Paint(object sender, PaintEventArgs e)
{
using (Pen p = new Pen(Color.Red, 2))
{
p.DashStyle = System.Drawing.Drawing2D.DashStyle.DashDot;
e.Graphics.DrawRectangle(p, label1.ClientRectangle);
}
}