我是 C# 新手,正在尝试一些我在课堂上尚未见过的东西。
我正在尝试构建一个码垛工具,它显示在托盘上码垛箱子的最佳方式。 在编写算法之前,我正在研究如何显示托盘。
我的眼睛注意到了
Graphics.Drawline
方法以及对 OnPaint
方法的重写,我可以毫无困难地画出这条线,但它总是太大!
为了测试,我将表单设置为 500*500,我想要一行 500pxl。我假设如果调整窗口大小,我会立即看到该行的末尾,但它仍然持续大约 5-7 像素。
指标或其他方面有差异吗?下面是我使用的代码示例。
感谢您的任何帮助,在网络上找不到任何相关主题可以解释这一点(也许这就是那么明显......)。
protected override void OnPaint(PaintEventArgs paintEvnt)
{
// Get the graphics object
Graphics gfx = paintEvnt.Graphics;
// Create a new pen that we shall use for drawing the line
Pen myPen = new Pen(Color.Black);
// draw pallet
//lenght1
gfx.DrawLine(myPen, 0, 50, 500, 50);
//width1
gfx.DrawLine(myPen, 500, 50, 500, 100);
}
这很可能是由您在其中绘制的窗口引起的。如果您环顾窗口窗体弹出窗口的边缘(假设您正在使用 Windows 窗体应用程序),您会看到一个边框。
此边框包含在窗口的宽度中。这就是为什么这条线似乎稍微超出了窗口的边缘 - 在拉伸窗口并移动其边框之前,您无法看到该线的实际末端。