不能移动标签
本文关键字:标签 移动 不能 | 更新日期: 2023-09-27 17:54:10
我在一个表格上有20个图表;它们是宽矩形。现在我需要在图表旁边放一个原始数字。我将改变这个数字,而绘图例程绘制一条线来描绘它。
我需要这样做20次;每个频道一个。用户选择矩形的位置(通过一些NumericUpDown控件)。
结果,容纳20个图形的20个矩形将位于20个不同的位置;大体一致,但仍有变数。我用5个int来处理这个;即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个矩形旁边?
来自文档:
因为
Size
类是一个值类型(Visual Basic中的Structure
, Visual c#中的struct
),它是按值返回的,这意味着访问属性返回控件大小的副本。因此,调整从该属性返回的Size的Width或Height属性不会影响控件的Width或Height。若要调整控件的宽度或高度,必须设置控件的宽度或高度属性,或使用新的Size设置Size属性。
编辑:这是Label类,这可能是一个很好的参考点