0

我在一个表格上有 20 个图表;它们是宽矩形。所以现在我需要在图表旁边放一个原始数字。我将在绘图例程绘制一条描绘它的线时更改此数字。

我需要这样做 20 次;每个频道一个。用户选择矩形的位置(通过一些 NumericUpDown 控件)。

结果,包含 20 个图形的 20 个矩形将位于 20 个不同的位置;大体一致,但仍有变数。我用五个整数处理这个;即, X_start, Y_start, Height, Width, Spacing

我的第一个想法是制作 20 个标签,将它们放在图表旁边,并更改其中的文本。

我在这里阅读了有关制作标签数组的信息

然后我试着像这样编码它......

for (int i = 0; i < 20; i++)
{
    RawNumberLabels[i].Text = "0";
    RawNumberLabels[i].Location.X = RawNumberLabel_x;  // error 
}

错误说..Cannot modify (blah blah blah "Location.X") because it is not a variable.

所以我尝试了这个:

Point RawXY = new Point((int)RawNumberLabel_x, Y_Pos);

for (int i = 0; i < 20; i++)
{
     RawNumberLabels[i].Text = "0";
     RawNumberLabels[i].Location.Offset(RawXY);   // fixes that one

     // Then  this next line is all full of fail
     RawNumberLabels[i].Size.Width = (int)UpDownsFromTheUser.Starting_RawNumberWidth;  

现在我不能改变Size.Width,因为它不是一个变量。

好的,那么我如何在屏幕上的 20 个其他矩形旁边放置 20 个标签,以便它们的 X、Y、高度和宽度与这 20 个其他矩形的 X、Y 和高度整齐地匹配?

更好的是,有没有更好的方法将 20 个原始数字放在像这样的 20 个矩形旁边?

4

1 回答 1

1

文档中

因为Size类是值类型(Structure在 Visual Basic 中,struct在 Visual C# 中),所以它是按值返回的,这意味着访问该属性会返回控件大小的副本。因此,调整从该属性返回的 Size 的 Width 或 Height 属性不会影响控件的 Width 或 Height。要调整控件的 Width 或 Height,必须设置控件的 Width 或 Height 属性,或者将 Size 属性设置为新的 Size。

编辑: 是标签类,这可能是一个很好的参考点。

于 2013-01-16T21:01:06.257 回答