0

我的文本标题可能有不同的长度,我希望该文本完全适合表单的整个标题栏。所以我需要改变表格的宽度。但是如何知道标题中文本的宽度,在不同的系统中,标题文本的字体和大小可能会有很大差异?提前致谢!

4

3 回答 3

2

这可能会有所帮助,

    private void YourFormName_SizeChanged(object sender, EventArgs e)
    {
        this.Width = 300; // the default or initial width
    }

    private void textBox1_KeyUp(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            e.Handled = true;

           if (textBox1.Text.Length == 0)
            {
                this.Width = 300;
                goto END;
            }
            if (textBox1.Text.Length < this.Width)
                this.Width = textBox1.Text.Length;
            else
                this.Width = this.Width + textBox1.Text.Length;
        END:this.Text = textBox1.Text;
        }
    }
于 2013-11-11T12:58:37.010 回答
1

在 WPF 中很容易解决,但对于Windows Forms,我认为您可以从标准控件继承Window并在初始化代码中将标题标题宽度(它必须易于计算,正如 Andrei V 在评论中提到的那样)分配给表单。

于 2013-11-11T11:16:10.723 回答
0

在表单中,将以下代码放入构造函数中:

this.Width = this.Width + this.Text.Length;

this.text返回标题的文本。this.width返回表单的宽度。只需根据标题中文字的长度调整宽度即可。

于 2013-11-11T11:23:14.923 回答