簡體   English   中英

如何做下划線或畫矩形?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM