显示表单标题中的所有文本

时间:2013-11-11 11:10:41

标签: c# winforms size width titlebar

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

3 个答案:

答案 0 :(得分: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;
        }
    }

答案 1 :(得分:1)

在易于解析的WPF中,但对于 Windows窗体,我认为您可以继承标准Window控件并在初始化代码中指定标题标题宽度(它必须简单如安德烈五世在评论中提到的那样计算表格。

答案 2 :(得分:0)

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

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

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