我想找到一个名为"textBoxQH_N"的TextBox,其中"_N"是1..96的数字.
所以,我有这个代码:
String sTextBoxToFind = String.Format("textBoxQH{0}", QuarterHour);
TextBox tb = (TextBox)this.Controls.Find(sTextBoxToFind, true);
Run Code Online (Sandbox Code Playgroud)
...但它给了我," 无法将类型'System.Windows.Forms.Control []'转换为'System.Windows.Forms.TextBox' "
所以我更改了第二行以获取第一个返回的val:
TextBox tb = (TextBox)this.Controls.Find(sTextBoxToFind, true)[0];
Run Code Online (Sandbox Code Playgroud)
这看起来有效,但是控件名称属性不应该是其所有者独有的吗?IOW,Find()应该只返回0..1控件,对吗?
Find,第二个属性设置为true,是递归的."姓名"对于该父母来说是独一无二的,但您正在搜索许多不同的父母."名称"不是全球唯一的.
正如贾斯汀在另一个答案中所建议的,First或者FirstOrDefault可能比[0]在阵列上使用更好.它可以更好地将您的意图传达给未来的读者.
| 归档时间: |
|
| 查看次数: |
350 次 |
| 最近记录: |