日期:2014-05-17  浏览次数:21068 次

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的width是只读的,怎样在程序运行时改变起宽度?谢谢


SplitContainer1.Panel1.setBound(x,y,width,heigth);
------解决方案--------------------
不会吧,我上次就是这么弄的啊
是setBound()啊
------解决方案--------------------
setBounds()
------解决方案--------------------
还没解决啊,你的需求始终没说清楚,SplitContainer包含两个Panel,那你改变其中一个总会影响另一个,那另一个又要怎么样呢,按说SplitContainer应该象资源管理器一样的,一个变宽,另一个就要变窄,要是这样我的代码是没问题的。如果不是,那又要怎么样呢?
------解决方案--------------------
 signPanel.Size = new Size(499,127);
------解决方案--------------------
引用:
引用:貌似不需要任何专门设置,label默认属性就是AutoSize。
+1

+1
------解决方案--------------------
Dock属性 就可以。