winfom中怎样让label的width随textbox中text的长度变化而变化
在Winform中有Textbox1和label1,让labe11的Text显示textBox1中的text,且label1的width随着TextBox1的字符长度变化而变化,label1的width刚刚好只能显示textbox1中的字符,怎样实现这一功能?
------解决方案--------------------Dock和Anchor通过将控件连接到它们父窗体的某个位置,而免除了使应用程序具有不可预知界面的麻烦。最好的一点就是设立这些属性不需要任何手写代码。所有事情都可以通过Visual Studio IDE中的点和单击来完成。
------解决方案--------------------貌似不需要任何专门设置,label默认属性就是AutoSize。
------解决方案--------------------WinForm中窗体或控件的width的单位应该是象素
private void textBox1_TextChanged(object sender, EventArgs e)
{
label1.Text = textBox1.Text;
panel1.Width = label1.Width + 30;
}
------解决方案--------------------帮顶 ~
------解决方案--------------------都是默认的,但遇到某些符号之类的就显示不全了
------解决方案--------------------
private void textBox1_TextChanged(object sender, EventArgs e)
{
label2.Text = textBox1.Text;
splitContainer1.SplitterDistance = label2.Width + 20; // 改变Panel1和Panel2的比例
// splitContainer1.Width = label2.Width + 50; // 整个splitContainer1的宽度都改变
}
------解决方案--------------------
SplitContainer1.Panel1.setBound(x,y,width,heigth);
------解决方案--------------------不会吧,我上次就是这么弄的啊
是setBound()啊
------解决方案--------------------setBounds()
------解决方案--------------------还没解决啊,你的需求始终没说清楚,SplitContainer包含两个Panel,那你改变其中一个总会影响另一个,那另一个又要怎么样呢,按说SplitContainer应该象资源管理器一样的,一个变宽,另一个就要变窄,要是这样我的代码是没问题的。如果不是,那又要怎么样呢?
------解决方案-------------------- signPanel.Size = new Size(499,127);
------解决方案--------------------
+1
------解决方案--------------------Dock属性 就可以。