日期:2014-06-10  浏览次数:20587 次

原文:http://blog.csdn.net/henulwj/article/details/8239877

最近在做C# Winform项目,需要有一个能动态调整大小的Textbox,并且要是单行的。试了几次,单行模式的Textbox不能直接改高度。于是搜索了一下,整理出几个改变高度的方法。
1.将Textbox改为多行模式,设置MutliLine属性为True,然后屏蔽Enter键。

private void txtTest_KeyDown (object sender, KeyEventArgs e)
{
     if ((int)e.KeyCode == 13)
    {
            e.SuppressKeyPress = true;
     }
}

2.在属性窗口改变字体大小,间接改变Textbox的高度
codeproject上有个项目,可以参考一下:http://www.codeproject.com/KB/cs/SetTextBoxHeight.aspx
3.保持单行模式,设置AutoSize为false,再设置高度。AutoSize属性是被隐藏起来的,需要在代码里直接设置

txtTest.AutoSize = false;
     txtTest.Height = 18;