0

ヘッダーの下に約 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();
        }
    }
}
4

3 に答える 3

0

CreateGraphics() は、フォームが更新されると消去される一時的なサーフェスであるため、使用しないでください。

代わりに、フォーム/コントロールの Paint() イベントを処理し、提供された を使用しe.Graphicsて描画します。

于 2013-10-07T22:48:18.823 に答える
0

WinForms で太い線を作成するための一般的な方法は、必要に応じて (他の境界線を試すことができます) と(LabelBorderStyle設定して) を作成することです。これらすべてをデザイナーで描画するか、適切な視覚設定を使用して、他の「縮退」コントロールを使用してみてください。FixedSingleHeight = 1WidthPanel

他のオプションはもちろん、カスタムを使用するUserControlか、イベントを処理/オーバーライドOnPaintし、メソッドによって提供されるグラフィックスを描画しますControl.CreateGraphics(フォームに配置する必要はありませんPictureBox)。

于 2013-10-07T22:37:46.417 に答える