[英]How to do thick underline or draw rectangle?
我正在嘗試在我的標頭下方繪制一條大約10至15像素厚的思考下划線。 我嘗試過添加圖片框,然后在其上進行繪制,但是沒有被繪制到屏幕上。 有沒有更好的方法可以做到這一點,或者可以使我的方法有效?
謝謝!
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();
}
}
}
在WinForms中使用粗線的一個常見技巧是創建一個BorderStyle
設置為FixedSingle
(可以嘗試其他邊框)且Height = 1
(適當的Width
)的Label
。 您可以在設計器中繪制所有這些圖像,或嘗試使用其他一些“退化”控件-具有適當視覺設置的Panel
。
當然,其他選項也可以使用custrom UserControl
或處理/重寫OnPaint
事件並在Control.CreateGraphics
方法提供的圖形上進行繪制(無需在窗體上放置PictureBox
)。
您的代碼無法正常工作的原因是您從1次加載事件中獲取了加農炮。 將您的代碼放入另一個事件或按鈕中,它將可以正常工作。
不要使用CreateGraphics(),因為它是一個臨時表面,在刷新表格時會被擦除。
而是處理窗體/控件的Paint()事件,並使用提供的e.Graphics
進行繪制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.