本文介绍了C# 调整文本框大小以适应内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!
问题描述
我正在编写一个程序,用户应该能够在 TextBox
中编写文本.我希望 TextBox
自行调整大小,使其适合内容.我尝试了以下方法:
private void textBoxTitle_TextChanged(object sender, TextChangedEventArgs e){System.Drawing.Font myFont = new System.Drawing.Font("Verdana", 8);System.Drawing.SizeF mySize = e.Graphics.MeasureString("这是一个测试", myFont);this.textBoxTitle.Width = (int)Math.Round(mySize.Width, 0);}
我收到一条错误消息,提示 Graphics
不适用于 TextChangedEventArgs
.还有其他方法可以调整 TextBox
的大小吗?
解决方案
你应该试试下面这样的代码.它对我很有效.
private void textBox1_TextChanged(object sender, EventArgs e){大小 size = TextRenderer.MeasureText(textBox1.Text, textBox1.Font);textBox1.Width = size.Width;textBox1.Height = 大小.高度;}
有关详细信息,请参阅 TextRenderer.MeasureText()p>
I'm writing a program where the user should be able to write text in a TextBox
. I'd like the TextBox
to resize itself, so it fits to the content.
I've tried the following:
private void textBoxTitle_TextChanged(object sender, TextChangedEventArgs e)
{
System.Drawing.Font myFont = new System.Drawing.Font("Verdana", 8);
System.Drawing.SizeF mySize = e.Graphics.MeasureString("This is a test", myFont);
this.textBoxTitle.Width = (int)Math.Round(mySize.Width, 0);
}
I get an error saying that Graphics
doesn't work for TextChangedEventArgs
. Is there another way I can resize the TextBox
?
解决方案
You should try a code something like below. It has worked for me well.
private void textBox1_TextChanged(object sender, EventArgs e)
{
Size size = TextRenderer.MeasureText(textBox1.Text, textBox1.Font);
textBox1.Width = size.Width;
textBox1.Height = size.Height;
}
For more information refer to TextRenderer.MeasureText()
这篇关于C# 调整文本框大小以适应内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!