我试图画一个思考下划线,我的标题大约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();
}
}
}
答案 0 :(得分:0)
在WinForms中使用粗线的一个常见技巧是创建Label
BorderStyle
,FixedSingle
设置为Height = 1
(您可以尝试其他边框)和Width
({ {1}}视情况而定)。您可以在设计器中绘制所有这些,或尝试使用其他一些“退化”控件 - Panel
和适当的视觉设置。
其他选项当然是使用custrom UserControl
或处理/覆盖OnPaint
事件并绘制Control.CreateGraphics
方法提供的图形(无需放置PictureBox
在表格上。)
答案 1 :(得分:0)
您的代码不起作用的原因是因为您从1次加载事件中抽取了一些内容。将您的代码放入另一个事件或按钮中,它将正常工作。
答案 2 :(得分:0)
不要使用CreateGraphics(),因为它是一个临时表面,在表单刷新时会被删除。
相反,处理Form / Control的Paint()事件,并使用提供的e.Graphics
进行绘制。