2016-05-06 15 views
0

私のプログラムに問題があります。私はテキストボックスに入力されたすべての情報を使用して、それらをtxtファイルに格納できるようにしようとしています。私は、情報と書式をフォーマットするためのアドレスクラスを持っています。ユーザー情報〜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) 
     { 

     } 
    } 
    } 

誰かが私が間違って何をやったかを教えてください。ファイルは保存されますが、保存されるファイルには何も表示されません。

あなたはbtnSave_Clickに次のように反転している

答えて

0

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を呼び出すと、値はデフォルトのコンストラクタに設定されていないため、値は未定義になります。

代わりに、テキストボックスに基づいてユーザーの値を設定してから、ユーザーの情報を取得することができます。

編集:Addressesクラスにはプライベート変数がありますが、Formクラスでユーザー情報を直接設定することはできません。ただし、もう一方のコンストラクタを使用し、btnSave_Click関数内でToStringを呼び出すことができます。

Addresses User = new Addresses(textBox1.Text, textBox3.Text, textBox5.Text, textBox6.Text, textBox7.Text, textbox8.Text); 
txtInfo.Text = User.ToString(); 
関連する問題