如何做粗下划线或绘制矩形?

时间:2013-10-07 22:34:39

标签: c# .net visual-studio-2012

我试图画一个思考下划线,我的标题大约10-15 px厚。我已经尝试添加一个图片框,然后绘制到那个,但它没有被绘制到屏幕上。有没有更好的方法来做到这一点,或者让我的方法有效?

谢谢!

using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
   {
        public Form1()
        {
            InitializeComponent();            
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Graphics g = pictureBox1.CreateGraphics();
            Pen selPen = new Pen(Color.Black);
            g.DrawRectangle(selPen, 0, 0, 700, 15);
            g.Dispose();
        }
    }
}

3 个答案:

答案 0 :(得分:0)

在WinForms中使用粗线的一个常见技巧是创建Label BorderStyleFixedSingle设置为Height = 1(您可以尝试其他边框)和Width({ {1}}视情况而定)。您可以在设计器中绘制所有这些,或尝试使用其他一些“退化”控件 - Panel和适当的视觉设置。

其他选项当然是使用custrom UserControl或处理/覆盖OnPaint事件并绘制Control.CreateGraphics方法提供的图形(无需放置PictureBox在表格上。)

答案 1 :(得分:0)

您的代码不起作用的原因是因为您从1次加载事件中抽取了一些内容。将您的代码放入另一个事件或按钮中,它将正常工作。

答案 2 :(得分:0)

不要使用CreateGraphics(),因为它是一个临时表面,在表单刷新时会被删除。

相反,处理Form / Control的Paint()事件,并使用提供的e.Graphics进行绘制。