【发布时间】:2020-06-16 21:59:09
【问题描述】:
我有 5 个带有 5 个标签的文本框,命名如下:
-
text1、text2、text3等 -
label1、label2、label3等
我想要做的是针对它们中的每一个并应用相同的代码,而不必单独编写一些东西。我在考虑这样的循环:
for (int i = 1; i <= 5; i++)
{
try
{
tcpCLient.ConnectAsync(text(i).Text, 80);
label(i).Text = "Online";
}
catch (Exception)
{
label(i).Text = "Offline";
}
}
问题是Visual Studio不允许我编译为“当前上下文中不存在名称'text'”。
这是错误的方法吗?你会怎么做呢?
非常感谢!
【问题讨论】:
-
是网页应用还是桌面,mvc,winforms什么的?
-
猜测它是 winforms,表单有一个可以迭代的属性:docs.microsoft.com/en-us/dotnet/api/… 但我实际上建议使用模型、控制器和绑定。
-
顺便说一句,该代码无论如何都不起作用。您正在尝试将一个 TcpClient 实例连接到 4 个端点??
-
如果你想深入了解Binding,可以从这里开始:docs.microsoft.com/en-us/dotnet/framework/winforms/…
-
它是一个带有框架 4.8 的 C# 桌面 WinForms。我使用克林特的方法解决了这个问题,但我会按照@Fildor 的建议研究绑定!只要我之后关闭 TCP,它似乎也可以这样工作。