【问题标题】:Use variable as part of textbox name in C#在 C# 中使用变量作为文本框名称的一部分
【发布时间】:2011-07-05 20:15:36
【问题描述】:

我正在开发一个带有 30 个文本框和 30 个复选框的程序。我希望人们检查姓名,然后按发送按钮。然后,该程序将名称保存在一个 txt 文件中,并在它们旁边加上一个真假语句,然后将文件上传到 ftp 服务器以供我分析。 我面临的问题是我不想为每个文本和复选框编写代码以加载并将其值保存在 txt 文件中。 如果我将文本框命名为 tbox1;tbox2;tbox3 等。如何使用循环来写 tbox i + 的值; + cbox i 在 thing.txt 的 i 行上,反之亦然? 请任何帮助将不胜感激,因为这将为我节省大量不必要的代码编写!

【问题讨论】:

  • 使用中继器或任何其他允许您复制 UI 的控件
  • 如果您可以使用 jquery - 请查看 sushantp.wordpress.com/2009/02/23/…。这使您可以轻松地从页面中获取选中(或未选中)复选框的列表。
  • 谢谢,这看起来不错,但对这门语言的学习还不是很远,所以这仍然比我高一点。

标签: c# variables object loops textbox


【解决方案1】:

您应该创建一个List<TextBox>,并在构造函数中使用您的文本框填充它。

然后您可以遍历列表并处理文本框。

【讨论】:

    【解决方案2】:
            for (int i = 0; i <= count; i++)
            {
                TextBox textbox = (TextBox)Controls.Find(string.Format("tbox{0}", i),false).FirstOrDefault();
                CheckBox checkbox = (CheckBox)Controls.Find(string.Format("cbox{0}", i),false).FirstOrDefault();
    
                string s = textbox.Text + (checkbox.Checked ? "true" : "false");
            }
    

    【讨论】:

    • 抱歉,当时没有 IDE。
    • 感谢这正是我所需要的,但感谢所有回复我的人!
    【解决方案3】:

    您可以遍历表单上的所有控件并根据它们的类型/名称检索它们的值。

    【讨论】:

      【解决方案4】:

      遍历表单/控件中的控件并调查名称:

              foreach (Control control in f.Controls)
              {
                  if (control is TextBox)
                  {
                     //Investigate and do your thing
                  }
              }
      

      【讨论】:

        【解决方案5】:

        假设这是 ASP.NET,您可以使用如下内容:

        StringBuilder sb = new StringBuilder();
        for(int i = 1; i < 30; i++){
            TextBox tb = FindControl("TextBox" + i);
            Checkbox cb = FindControl("CheckBox" + i);
            sb.AppendFormat("TextBox{0}={1}; {2}", i, tb.Text, cb.Checked);
        }
        string result = sb.ToString();
        // Now write 'result' to your text file.
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-31
          • 1970-01-01
          • 1970-01-01
          • 2018-06-13
          • 2019-11-06
          相关资源
          最近更新 更多