Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#表单上绘制的线太长_C#_Forms_System.drawing - Fatal编程技术网

在C#表单上绘制的线太长

在C#表单上绘制的线太长,c#,forms,system.drawing,C#,Forms,System.drawing,我没有看到任何与此相关的帖子,但在我的表格上画的一条线应该在寄宿生在表格周围停留5px,但它没有。如果需要,此行的目的是在一个窗体上分隔两个不同的用户控件 protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); if (optionalSecondPanel != null) { Graphics g;

我没有看到任何与此相关的帖子,但在我的表格上画的一条线应该在寄宿生在表格周围停留5px,但它没有。如果需要,此行的目的是在一个窗体上分隔两个不同的用户控件

    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);
        if (optionalSecondPanel != null)
        {
            Graphics g;

            g = e.Graphics;

            Pen myPen = new System.Drawing.Pen(System.Drawing.Color.Black);
            g.DrawLine(myPen, mainPanel.Width + 5, btnPannel.Bottom + 5, mainPanel.Width + 5, this.Height - 5);
            myPen.Dispose();
            g.Dispose();
        }
    }
但是,当在屏幕上绘制时,分隔用户控件的线会一直延伸到窗体的底部。它不会在应该停止的时候停止

g.DrawLine(myPen, mainPanel.Width + 5, btnPannel.Bottom - 5, mainPanel.Width + 5, this.Height - 5);


我相信。底部向下增加,所以如果你减去5,它应该会升高条的底部。

所以如果我将其更改为
this.Height-50,则行的底部会向上并可见。那么为什么-5不工作/不可见。也许面板的底部比您预期的低?用更大的数值做实验,让我知道会发生什么。所以如果我增加减去的数值,那么我的线就会显示出来。我的表单是612px高,所以
这个.Height-5
应该会导致一行在结尾之前停止。你是说它正在工作,还是说你希望它与-5一起工作而不是?它与-5不工作,但我希望它应该工作。如果我使用的数字大于5(比如-50),它就可以工作了。