0

フォームに 20 個のグラフがあります。それらは幅の広い長方形です。そのため、グラフの横に生の数値を配置する必要があります。グラフ作成ルーチンがそれを表す線を描画している間に、この数値を変更します。

これを 20 回行う必要があります。各チャネルに 1 つ。ユーザーは、(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 個の生の数字を配置するより良い方法はありますか?

4

1 に答える 1

1

ドキュメントから:

Sizeクラスは値型(StructureVisual BasicではVisualC#)であるためstruct、値で返されます。つまり、プロパティにアクセスすると、コントロールのサイズのコピーが返されます。したがって、このプロパティから返されるサイズの幅または高さのプロパティを調整しても、コントロールの幅または高さには影響しません。コントロールの幅または高さを調整するには、コントロールの幅または高さプロパティを設定するか、新しいサイズでサイズプロパティを設定する必要があります。

編集:これがLabelクラスです。これは、 このための適切な参照ポイントになる可能性があります。

于 2013-01-16T21:01:06.257 に答える