【发布时间】:2014-11-14 06:06:58
【问题描述】:
我希望能够在我的代码中多次调用以下函数来填充表单中不同的 8 个文本框组。
现在引用正在“tbPlay”中传递,从最初在代码中调用它的位置开始。
每次调用此函数时,都会填充不同的文本框组。
我正在尝试使用空 for 循环创建必要的变量名来替换我的 case 语句中的 tbPlay0-7 的方法,因此它不仅可用于我的代码中的一组文本框。我不确定它是否可以完成。
谁能帮忙。
private void convertBasetoDrawn(string numBase, string reference)
{
string baseNumber = numBase;
for (int i = 0; i < 8; i++)
{
//some code here to create variables to replace the text box names in the
//following case statement
}
switch (baseNumber)
{
case "000":
tbPlay0.Text = "000";
tbPlay0.ForeColor = Color.Red;
tbPlay1.Text = "500";
tbPlay2.Text = "050";
tbPlay3.Text = "005";
tbPlay4.Text = "550";
tbPlay5.Text = "505";
tbPlay6.Text = "055";
tbPlay7.Text = "555";
tbPlay7.ForeColor = Color.Red;
break;
}
}
【问题讨论】:
-
自从我做任何 Windows 窗体的东西以来,我已经很久没有做过任何 Windows 窗体的东西了,假设就是这样,但没有一些
ContainerControl.FindControl或FindChild或Controls.Find或类似的东西可以让你从string名称变为实际控制?你可以这样做。 -
你不能使用数组或文本框列表吗?
-
Ahmad 的建议是要走的路:为每个组创建一个
List<TextBox>并将其传递给函数!正如 feiyun0112 所建议的那样,您可以使用名称,但是拥有好命名的组要好得多! (更易读、更灵活、更快……)