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