将文本框写入文本文件C#

时间:2013-02-05 12:16:02

标签: c# winforms

我试图通过TextBoxes将信息写入TextFile(在这种情况下,TextFile类似于数据库)。当我在表单中使用File.AppendAllText时,它正在工作,但我试图通过方法实现它。

我创建了一个名为AddClient()

的方法
Client getClient = new Client();
public void AddClient()
{
    string client = getClient.FirstName + "," + getClient.LastName + "\r\n";
    File.AppendAllText(textFilePath, client);
}

表单中的“注册”按钮名为RegisterButton,包含:

ClientRepository getMethods = new ClientRepository();
Client getClient = new Client();
private void RegisterButton_Click(object sender, EventArgs e)
{
    getClient.FirstName = FirstNameTextBox.Text;
    getClient.LastName = LastNameTextBox.Text;
    getMethods.AddClient();
}

FirstName和LastName ofc是public class Client

的属性

单击按钮后,它们都会获得空值。 请帮忙吗?

1 个答案:

答案 0 :(得分:2)

您没有将从输入文本框中正确设置firstName和lastName的Client类的实例传递给AddClient方法,而是在ClientRepository类中创建Client类的新实例,当然,这个新实例的属性没有任何内容。

更改您的代码以传递在表单中创建的客户端实例

在ClientRepository类

public void AddClient(Client clientToAdd)
{
    string client = clientToAdd.FirstName + "," + clientToAdd.LastName + "\r\n";
    File.AppendAllText(textFilePath, client);
}

在您的表单代码中

ClientRepository getMethods = new ClientRepository();
Client clientToAdd = new Client();
....
private void RegisterButton_Click(object sender, EventArgs e)
{
    clientToAdd.FirstName = FirstNameTextBox.Text;
    clientToAdd.LastName = LastNameTextBox.Text;
    getMethods.AddClient(clientToAdd);
}