我正在开展一个项目,要求我设计一个包含大量文本字段和几个按钮的表单。由于Visual Studio的自动生成代码,我需要大约150多个文本字段才能从与表单分开的类中获取值。
表单的一部分是每个标签都包含相似的布局,但它们之间存在细微差别。由于标签的工作方式,我必须为标签之间共享的每个字段使用不同的名称,而不是相对于指定标签访问该字段。这导致了如此多的表单控件。
我的问题是这个...目前我正在开发一个类,允许我从所有这些文本字段中获取值并在文档模板(Word XML文件)上运行字符串替换以覆盖占位符相关文本字段中的值。有没有一种更有效的方法来做到这一点,而不仅仅是为表单的每个成员创建一个访问器方法,并使用它将值传递给string.Replace()方法?
我是C#的新手,所以这是我能想到解决问题的唯一方法。
答案 0 :(得分:0)
如果我理解你的问题,你想要为你的WinForm应用程序批量更新所有文本框控件。
幸运的是,WinForm控件主要来自Control类,它提供Control对象的.Name和.Text。
您可以使用此代码执行此操作:
// Loop through all controls in the form
foreach(Control control in this.Controls)
{
if(control is TextBox)
{
// DO WORK
}
}
您可以致电control.Text
或control.Name
来获取对循环中姓名或文字的访问权。
这会回答你的问题吗?