根据规格(http://msdn.microsoft.com/en-us/library/k63c05yf.aspx)
Windows窗体中的文本框应具有autosize
属性。
当您输入TextBox1.AutoSize = true
时,它实际上不会中断。但是,它似乎没有出现在IntelliSense属性列表中。
为什么会这样?
我尝试过重新编译并且全部编译,但textbox.autosize
属性永远不会出现。
答案 0 :(得分:10)
TextBox的AutoSize属性始终为true,由构造函数强制执行。该属性隐藏在父类(TextBoxBase)中,以避免意外将其设置为false。它有[Browsable(false)]隐藏它在属性网格中,[EditorBrowsable(EditorBrowsableState.Never)]将它隐藏在IntelliSense弹出窗口中。但是你可以改变它:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
textBox1.AutoSize = false;
textBox1.Height += 10;
}
}
是的,看起来不太好。现在你知道为什么它被隐藏了。
答案 1 :(得分:1)
使用以下属性声明Control.AutoSize
属性(及其在TextBoxBase
中的覆盖):
[EditorBrowsable(EditorBrowsableState.Never)]
IntelliSense使用此属性决定不在完成列表中显示该属性。
(我对Windows Forms的了解不足以说明为什么这个属性被标记为不可浏览。)