我有10个文本框(tb1,tb2,tb3,...),当我按下按钮时,10个文本框将根据用户输入的startingNum填充值,例如:10,按照10个文本框的顺序通过加法(+1,+2,+3,...)填充。
我的代码是工作,但有可能使用循环或任何更好的方式来改善我的代码?
private void genBtn_Click(object sender, EventArgs e)
{
firstNum.Text = alphaBox.Text + (intFirst + 0).ToString();
SecondNum.Text = alphaBox.Text + (intFirst + 1).ToString();
thirdNum.Text = alphaBox.Text + (intFirst + 2).ToString();
fourthNum.Text = alphaBox.Text + (intFirst + 3).ToString();
fifthNum.Text = alphaBox.Text + (intFirst + 4).ToString();
sixNum.Text = alphaBox.Text + (intFirst + 5).ToString();
seventhNum.Text = alphaBox.Text + (intFirst + 6).ToString();
eighthNum.Text = alphaBox.Text + (intFirst + 7).ToString();
ninthNum.Text = alphaBox.Text + (intFirst + 8).ToString();
tenthNum.Text = alphaBox.Text + (intFirst + 9).ToString();
}
3条答案
按热度按时间rqcrx0a61#
您的示例最好使用
ListBox
来实现。ListBox
应该有一个UniformGrid
,其中两列定义为panel。因为要将每个
TextBox
与一个关联的标签一起显示,所以需要创建一个数据模型(例如MyDataModel
)来保存这两个值。然后创建绑定到
ListBox
的MyDataModel
列表。ListBox
随后将创建TextBox
和TextBlock
,以显示每个MyDataModel
项的文本和标签。要定义布局以及
ListBox
如何显示MyDataModel
,必须创建一个DataTemplate
。请注意,如果只显示文本,则应使用
TextBlock
。您可能需要阅读文档以学习所需的技能:
INotifyPropertyChanged
(数据绑定所需)遵循以下示例的优点是它是完全动态的。元素的数量不是硬编码的。这大大减少了代码行。例如,当生成20个元素时,硬编码将需要编写20倍相同的代码。这是不可取的。除了这样的代码不可维护之外,您可能不想浪费时间编写这样的重复代码。
我的数据模型.cs
主窗口.xaml.cs
主窗口.xaml
ttcibm8c2#
也许您可以将它们放在数组或列表中,然后使用以下LINQ方法:
当然,您应该只将TextBox添加到数组一次,而不是在此方法中。
xghobddn3#
您可以在文本框上循环执行以下操作: