C#获取文本框不可见
有时后在我们写的小程序上,文本框的Visible属性在设置里面并没有设置为False,但是运行的时候就是不可见——不显示!下面是我做的一个加法小程序时所遇到的问题!让我们一起来探讨下吧。
界面1如下:
当我选择一位数相加时,只有前面的两个文本框可见性为true,其余的都为False,代码如下:
void getwenben()
{
txt6.Text = suiji1().ToString();
txt7.Text = suiji2().ToString();
lb8.Text = "+";
lb9.Text = "=";
txt8.Focus();
lb10.Visible = false;
txt9.Visible = false;
lb11.Visible = false;
txt2.Visible = false;
}
此时后面的几个文本框以及lable的可见性都设置为false,然而当我选择另外一个运算规则的时候后面的文本框确仍然不可见!
界面2如下:
界面2的代码如下:
void getweben3()
{
txt6.Text = suiji().ToString();
txt7.Text = suiji3().ToString();
txt8.Text = suiji1().ToString();
txt9.Text = suiji2().ToString();
lb8.Text = "+";
lb9.Text = "*";
lb10.Text = "÷";
lb11.Text = "=";
txt2.Focus();
}
本应该实现的界面如下
本来要实现的是点击下拉列表中的加减乘除混合的时候后面的文本框以及lable都可见的,但是现在只有三个文本框可见,为什么后会这样呢?原来是这样的,前面我们的一段代码
txt6.Text = suiji1().ToString();
txt7.Text = suiji2().ToString();
lb8.Text = "+";
lb9.Text = "=";
txt8.Focus();
lb10.Visible = false;
txt9.Visible = false;
lb11.Visible = false;
txt2.Visible = false;
把后面的几个文本框和label的可见属性已经设置为false了,所以导致我们选加减乘除时,只显示前面的几个文本框和lable 对此我们只需要重新把后面的几个文本框属性设置为可见就行了。
所以本应该实现的界面代码如下:
void getweben3()
{
txt6.Text = suiji().ToString();
txt7.Text = suiji3().ToString();
txt8.Text = suiji1().ToString();
txt9.Text = suiji2().ToString();
lb10.Visible = true;
lb11.Visible = true;
txt9.Visible = true;
txt2.Visible = true;
lb8.Text = "+";
lb9.Text = "*";
lb10.Text = "÷";
lb11.Text = "=";
txt2.Focus();
}
总而言之,当我们在写代码时把文本框的可见性设置为false时,后面需要用到的话,我们就要重新把它们设置为true
举一反三。我想其他控件也应该是这样的!
希望对您有帮助。