【发布时间】:2018-12-14 19:53:57
【问题描述】:
所以我的程序中确实有一个 WinForm,其中包含一系列,每个 ComboBox 和两个 TextBox。 atm 有 8 行,但这将增加到至少 32 行,因此我想使用 Array 或类似的。我该怎么做?
我目前的工作方法是创建一个新的 TextBoxes/ComboBoxes 数组,我手动分配 WinForm 的指定 Elemt。因此我有一个这样的列表:
tbGU[0] = tbGU1;
tbGO[0] = tbGO1;
cbS[0] = cbS1;
当然,这看起来很糟糕,如果多次复制它就不是很好了。有人能解决我的问题吗?
我需要访问 ComboBox 的 SelectedIndex 和 TextBoxes 的 Text。 我希望我可以避免通过代码手动创建所有元素。
【问题讨论】:
-
您是否考虑过将三个控件(ComboBox、2xTextBox)放入自定义控件中。届时您将需要处理 1/3 的控件总数
-
有没有考虑过使用
DataGridView控件,在这里可以动态创建多个控件? -
您可以随时使用
List<T>并一次性初始化:List<ComboBox> cBoxes = new List<ComboBox>() {cbS1, cbS12, cbS3...};您可以像访问数组一样访问它。 -
如下所述,它们不能以均匀分布的方式分布,因为它们位于图形周围/上,因此 DataGridView 对我的应用程序来说不是“可接受的”。将通过使用 List 或 new[](喜欢后者)来使用缩短的 Versionen。
标签: c# arrays winforms combobox textbox