【发布时间】:2018-10-02 14:17:28
【问题描述】:
我使用文本框名称为 text_box_1,text_box_2,text_box_3,text_box_4 我需要一一检查这些文本框,如果它们为空,则文本框应该隐藏, 这是我的代码,我试图声明一个变量文本框名称来执行此操作,但它不起作用,所以你能帮我解决这个问题吗
int i;
private void check()
{
for(i = 0; i < 4; i++)
{
if((text_box_+i).Text == "")
{
(Text_box_+i.Hide();
}
}
}
感谢@Oztaco 我解决了它, 这就是我想要的方式 非常感谢@Oztaco...
private void check()
{
TextBox[] textBoxes = new TextBox[10];
textBoxes[0] = a;
textBoxes[1] = b;
textBoxes[2] = c;
textBoxes[3] = d;
int i;
for (i = 0; i < 4; i++)
{
if(textBoxes[i].Text == "")
{
textBoxes[i].Hide();
}
}
}
【问题讨论】:
-
您应该使用
your_form.Controls.OfType<TextBox>并循环返回控件! -
您不能使用此语法动态地与不同的类实例对话。您可以使用反射,但这走错了路。您可以创建一个 List
并在其中添加您的文本框并将它们动态添加到视图中。从这里开始,您可以遍历列表。 -
这被问了一千次。搜索:winforms 按名称查找控件并投票赞成问题和答案
-
@Tim Schemelter 我的意思是如果文本框文本为空文本框应该隐藏就是它
-
@KãvîñdūTîssêrã:您可能想使用
String.IsNullOrEmpty或String.IsNullOrWhiteSpace(多个空格仍为空)。
标签: c#