用户信息到txt要读取的文件

时间:2016-05-06 00:30:02

标签: c# winforms class

我的程序存在问题。我试图能够使用键入文本框的所有信息并将它们存储到txt文件。我有一个地址类来格式化信息和表格。

我在这里有地址类:

public class Addresses
{
    private string name { get; set; }
    private string address { get; set; }
    private string city { get; set; }
    private string state { get; set; }
    private string zipCode { get; set; }
    private string phoneNum { get; set; }

    public Addresses()
    {
    }

    public Addresses(string fName, string ad, string cty, string st, string  zip, string pNum)
    {
        name = fName;
        address = ad;
        city = cty;
        state = st;
        zipCode = zip;
        phoneNum = pNum;
    }
    public override string ToString()
    {
        return "Name: " + name +
            "\nAddress: " + address +
            "\nCity: " + city +
            " State: " + state +
            " Zip Code: " + zipCode +
            "\nPhone#: " + phoneNum;
            ;
    }

}

}

在此处形成课程:

using System;
   using System.Collections;
   using System.Collections.Generic;
   using System.ComponentModel;
   using System.Data;
   using System.Drawing;
   using System.IO;
   using System.Linq;
   using System.Text;
   using System.Threading.Tasks;
   using System.Windows.Forms;

    namespace AddressBook
    {
    public partial class Form1 : Form
    {
        private StreamReader inFile;
        private StreamWriter outFile;


        public Form1()
        {

            InitializeComponent();

        }




        private void menuExit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void fileToolStripMenuItem_Click(object sender, EventArgs e)
        {

        }

        private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Created by ME!\nByron Buyck\nAKA\n毕容谦" +
                "\n2016");
        }

        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                openBox.ShowDialog();
                inFile = new StreamReader(openBox.FileName);
                lblMessage.Text = "File Name: " + openBox.FileName;
                readFile();
                inFile.Close();


            }
            catch (Exception ex)
            {
                lblMessage.Text = ex.Message;
            }
        }

        private void readFile()
        {
            string data = inFile.ReadLine();

            while (data != null)
            {
                txtInfo.Text += data + "\r\n";
                data = inFile.ReadLine();


            }
        }

        private void btnClr_Click(object sender, EventArgs e)
        {
            txtInfo.Text = "";
            textBox1.Text = "";
            textBox3.Text = "";
            textBox5.Text = "";
            textBox6.Text = "";
            textBox7.Text = "";
            textBox8.Text = "";


        }

        private void btnSave_Click(object sender, EventArgs e)
        {

            Addresses User = new Addresses();
            textBox1.Text = User.name;
            textBox3.Text = User.address;
            textBox5.Text = User.city;
            textBox6.Text = User.state;
            textBox7.Text = User.zipCode;
            textBox8.Text = User.phoneNum;
            User.ToString();

            try
            {
                saveBox.ShowDialog();
                outFile = new StreamWriter(saveBox.FileName, true);
                outFile.WriteLine(txtInfo.Text);
                outFile.Close();
            }
            catch (Exception ex)
            {
                lblMessage.Text = ex.Message;

            }
        }


        private void textBox1_TextChanged(object sender, EventArgs e)
        {




        }

        private void textBox3_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox4_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox5_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox6_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox7_TextChanged(object sender, EventArgs e)
        {

        }

        private void txtInfo_TextChanged(object sender, EventArgs e)
        {

        }

        private void label7_Click(object sender, EventArgs e)
        {

        }
    }
    }

请有人告诉我我做错了什么。文件get已保存,但保存的文件中没有任何内容。

1 个答案:

答案 0 :(得分:0)

btnSave_Click中有以下相反的内容:

Addresses User = new Addresses();
textBox1.Text = User.name;
textBox3.Text = User.address;
textBox5.Text = User.city;
textBox6.Text = User.state;
textBox7.Text = User.zipCode;
textBox8.Text = User.phoneNum;
User.ToString();

在上述情况下,您将文本框设置为用户的值。当您调用ToString时,这些值将是未定义的,因为它们从未在默认构造函数中设置。

相反,你可能想要做相反的事情,即根据文本框设置用户的值,然后获取用户的信息。

编辑:您的地址类具有私有变量,因此您无法通过Form类直接设置用户信息。但是,您可以使用其他构造函数,然后在btnSave_Click函数中调用ToString。

Addresses User = new Addresses(textBox1.Text, textBox3.Text, textBox5.Text, textBox6.Text, textBox7.Text, textbox8.Text);
txtInfo.Text = User.ToString();