winforms 为什么richTextbox控件不在form1的中间位置?

pbgvytdp  于 2023-03-31  发布在  其他
关注(0)|答案(1)|浏览(131)
private void btnSettingsFile_Click(object sender, EventArgs e)
{
    RichTextBox rtx1 = new RichTextBox();
    rtx1.Size = new Size(250,250);
    rtx1.BackColor = Color.Black;
    rtx1.ForeColor = Color.Yellow;
    this.Controls.Add(rtx1);
    rtx1.BringToFront();
    rtx1.Location = new Point(this.ClientSize.Width / 2, this.ClientSize.Height / 2);
    rtx1.AppendText(File.ReadAllText(settingsFile));
}

首先我尝试了这个.Width / 2和这个.Height / 2,但它把它放在右下角,然后我尝试了ClientSize,但这把它放到了底部一点,而不是在form 1的中心。
我希望richTextBox位于form 1的中心。

w1jd8yoj

w1jd8yoj1#

一个控件的.Location属性标记了它的左上角,而不是它的中心。因此,控件的左上角在窗体的中心,这与我们在图中看到的相匹配。
要修复它,需要减去控件长度和宽度的1/2。

rtx1.Location = new Point( (this.ClientSize.Width / 2) - (rtx1.Width / 2), (this.ClientSize.Height / 2) - (rtx1.Height / 2) );

相关问题