如何在表单打开时填充文本框?

时间:2015-06-05 16:16:18

标签: c# winforms visual-studio-2010

我正在编写一个程序(我的第一个程序......),其中包含一个表单,当单击保存按钮时,该表单将文本框信息,复选框和单选按钮选项保存到文本文件中。这部分有效。

然后当表单打开时(下次运行程序时),它会从文本文件中收集所有这些选择,并将它们保存为表单中的变量。这部分有效。

我无法找到一种方法,可以在打开时自动将这些设置填充到表单中。

示例:

textBox1应显示" string userName"的内容。表单打开时。

chkBox1应该被检查,取决于" Int chkBox1的值。"

单选按钮也一样。

我一次只读取一行设置文件并确认变量有信息,我只是无法在新打开的表单上显示。 有一个简单的方法吗? 谢谢......

3 个答案:

答案 0 :(得分:1)

通常在存储用户界面设置时 标准方法是使用XML文件来保存或加载设置 我做了这个使用xml保存用户界面组件的例子 希望它有用

https://www.dropbox.com/s/1j1qbe7udqxizr6/4.XMLConfigurationEditor.rar?dl=0

答案 1 :(得分:0)

是的。您还需要将组件(文本框,复选框等)名称存储到文件中。你保存的填充看起来会像 chkBox1,是的 chkBox2,false textBox1,“一些很酷的价值”。

然后,当您读取这些值时,您将搜索正确的控件并设置其值。您可以通过调用Controls属性来访问表单控件:例如,您可以在InitializeComponents方法调用之后在构造函数中创建Loaded事件或访问控件。控件的访问方式如下: ((CheckBox)this.Controls [“chkBox1”])。Checked = true;

现在只需将此控件用法合并到文件读取代码中即可。

顺便说一下。您还可以将值存储到应用程序设置中。这是存储此类信息的更简单方法。见link

答案 2 :(得分:0)

您可以在初始化组件之前尝试加载文件中的值。稍后,您只需使用其各自的强制转换值传递值。我还建议使用try / catch块来防止转换过程中可能出现的错误。

类似的东西:

string _TextBoxData = "No data";
bool _ChkBox1Data = false;
...
try{
  System.IO.StreamReader file = new System.IO.StreamReader(@"c:\test.txt");
  _TextBoxData = file.ReadLine();
  _ChkBox1Data = Conver.ToBoolean(file.ReadLine());
}catch(Exception e){
  MessageBox.Show(ex.ToString());
}
...
private void Form1_Load(){

  TextBox1.Text = TextBoxData;
  CheckBox1.Checked = ChkBox1Data;

}