我正在编写自己的图表,因为预定义的图表无法处理我想要使用的值类型。对于线条,我使用不同宽度的彩色标签。要打印图表,我使用此方法:
labelSize = new Size();
labelSize.Height = 35;
Size maxSize = new Size(214783647, 500);
labelSize.Width = Convert.ToInt32(ShiftPts[i + 1].timeint - ShiftPts[i].timeint);
Label l1 = new Label();
l1.MaximumSize = maxSize;
l1.BackColor = Color.Yellow;
Point LabelPoint = new Point(tempStartX, StartPositionY);
//Point LabelPoint = new Point(tempStartX, StartPositionY);
l1.Size = labelSize;
l1.Location = LabelPoint;
l1.Text = ShiftPts[i].Status;
tempStartX = tempStartX + labelSize.Width;
BoxLine.Add(l1);
tempStartX
变量是 an ,int
您可以看到每个 looptick 都会增加。这个变量的问题是它会因为标签的宽度而变成负数。每当我尝试指定超过 390 的宽度时,宽度都会变为负数。为什么会这样?