【问题标题】:How to use a for loop for multiple labels如何为多个标签使用 for 循环
【发布时间】:2014-11-26 17:58:01
【问题描述】:

我对此很陌生,所以有点帮助会很好,所以基本上我有这个带有 100 个标签的表单,我有一个文本框,可以在其中输入一个值。我需要第一个标签来显示文本框的值,然后其余的标签显示递增到 100 的值。我知道如何手动执行但那是 100 条语句,我想知道是否有办法使用 for 循环。提前致谢

【问题讨论】:

  • 什么语言?你试过什么?也许你应该阅读this
  • 是的,很可能有一种方法可以使用 for 循环。但是,由于您未能提供有关您正在使用的语言的任何信息,也没有努力自己完成任何事情,因此无法更具体地说明如何这样做。如果您在此处需要帮助,则需要提供足够的信息。我们看不到您的屏幕或读懂您的想法,因此我们拥有的只是您在问题中提供的信息。
  • 抱歉,这个网站很新,在使用 c# 时,我的标签是名称 Label1 Label2 和 sooo on
  • 那么,网页、.NET 表单上的这些标签是否要打印出来等等?您仍然没有提供足够的信息让任何人帮助您。如果您显示当前的代码可能会有所帮助。
  • 对不起,这很新,好的,我正在使用 c# 用 Visual Studio 制作一个 Windows 窗体应用程序,上面有 100 个标签和一个文本框,到目前为止,目前所有的标签文本都很清晰,我想根据文本框的输入将标签的文本更改为数字。从该数字开始并增加到 100。

标签: c# winforms loops for-loop labels


【解决方案1】:

试试这样的:

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        int value;
        if (int.TryParse(this.textBox1.Text, out value))
        {
            var query =
                from index in Enumerable.Range(0, 100)
                from label in this.Controls
                    .OfType<Label>()
                    .Where(x => x.Name == "label" + (index + 1))
                select new { label, index };

            foreach (var x in query)
            {
                x.label.Text = (value + x.index).ToString();
            }
        }
    }

【讨论】:

    猜你喜欢
    • 2021-04-21
    • 2021-08-10
    • 2021-07-25
    • 2012-09-03
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 1970-01-01
    相关资源
    最近更新 更多