C#如何绘制一个像素宽度的线

时间:2020-09-03 10:46:51

标签: c# graphics

我尝试在表格上画线:

protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);
        Graphics g;

        g = e.Graphics;
        g.PageUnit = GraphicsUnit.Pixel;
        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.None;

        Pen myPen = new Pen(Color.Red);
        myPen.Width = 1;
        g.DrawLine(myPen, 100, 50, 200, 50);

        g.DrawLine(myPen, 150, 0, 150, 100);
    }

它看起来像这样:enter image description here,但是在放大之后看起来像这样:enter image description here-线宽是3像素...

我的问题是:如何绘制一个像素宽度的线宽?

好的-我编辑了它,但是现在看起来像这样(放大):enter image description here(整个页面单元看起来都一样)

1 个答案:

答案 0 :(得分:0)

您要寻找的是在所有图形调用之前使用以下内容:


// Second form
  public partial class test : Window
    {
        public bool test_close;

        public test(GridModel gridModel)
        {
            InitializeComponent();           
 
        }

        private void Window_Closed(object sender, EventArgs e)
        {
        //      base.Close();
            IsClosed = true;
            Console.WriteLine( " Ok " +IsClosed);
        }
        public bool IsClosed { get; private set; }

        protected override void OnClosed(EventArgs e)
        {
            base.OnClosed(e);
            IsClosed = true;
        }

尽管您的问题中的示例无法复制。