gpt4 book ai didi

c# - 我的 label.width 变负了

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:38 26 4
gpt4 key购买 nike

我正在编写自己的图表,因为预定义图表无法处理我想要使用的值类型。对于线条,我使用不同宽度的彩色标签。要打印我使用此方法的图表:

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 变量是一个 int,您可以看到它在每次循环时增加。这个变量的问题是它会因为标签的宽度而变成负值。每当我尝试指定超过 390 的宽度时,宽度就会变为负值。为什么会这样?

最佳答案

如果 ShiftPts[i + 1].timeint 小于 ShiftPts[i].timeint 那么 labelSize.Width 将为负数。然后将此值分配给 tempStartX

因为这似乎是您唯一减去的地方,所以这可能是您的变量设置为负值的唯一原因。

另一种可能性是 tempStartX 已经是负数。

关于c# - 我的 label.width 变负了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17170939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com