0

Visual C# で .NET フォームを使用しています。ボタンをクリックすると表示されるラベルを動的に作成しました。これはすべて正常に機能します。私がやろうとしているのは、要素がフォームの中心になるように配置することです。通常、フォーム サイズの半分から要素サイズの半分を引いた値に設定するだけですが、プログラムでテキストを設定しているため、もちろんこれは機能しません。

ラベルの私のコードは次のとおりです。

if(part == 1){
        theLabel.Text = "Choose a name for your character!";
}
theLabel.ForeColor = Color.DarkGray;
theLabel.Font = new Font("Arial", 14, FontStyle.Bold);

theLabel.Location = new Point();

私はここで多くのことを試しましたが、方法が思い浮かびません。私はint[] sizes = (int)theLabel.Size他のさまざまなことを試しましたが、これを機能させることができません。この要素を真ん中に並べる別の方法はありますか?

4

1 に答える 1

0

私があなたなら、こうします。

Label theLabel;

private void button1_Click(object sender, EventArgs e)
        {
            theLabel = new Label();
            theLabel.AutoSize = true;
            theLabel.BackColor = Color.Red;
            theLabel.TextAlign = ContentAlignment.MiddleCenter;
            theLabel.Text = "Choose a name for your character!";
            this.Controls.Add(this.theLabel);
            theLabel.Left = (this.ClientRectangle.Width - theLabel.Width) / 2;
            //theLabel.ForeColor = Color.Black;
            theLabel.Top = 25;
            theLabel.Show();
        }
于 2013-10-19T15:40:50.237 に答える