2017-02-14 20 views
0

私はC#クラスの学生です。これはクラスへの入門ですので、私にご負担ください。 Newボタンを押すと、名前と電話の値を使ってCPersonオブジェクトが作成され、そのオブジェクトはList <>に追加されます。クラスからリストに項目を追加し、リストボックスにリスト項目を追加します。

enter image description here

class CPerson 
{ 

    private string m_sName; 
    private string m_sPhone; 

    public string Name 
    { 
     get { return this.m_sName; } 
     set 
     { 

      this.m_sName = value; 
     } 
    } 
    public string Phone 
    { 
     get { return this.m_sPhone; } 
     set 
     { 
      this.m_sPhone = value; 
     } 
    } 


} 

public partial class Form1 : Form 
{ 
    private List<CPerson> PhoneNum = new List<CPerson>(); //<CPerson> or <string>? 
    public Form1() 
    { 
     InitializeComponent(); 
     newbutton.Enabled = false; 
     changebutton.Enabled = false; 
     savebutton.Enabled = false; 
    } 



    private void newbutton_Click(object sender, EventArgs e) 
    { 
     changebutton.Enabled = true; 
     savebutton.Enabled = true; 
     PhoneNum.Add(new CPerson { Name = Namebox.Text + " : ", Phone = phonebox.Text }); 
     listBox1.Items.Add(PhoneNum); //text = "Collection" 

    } 

割り当ては、私は必ずしも理解していない上記画像に示すように、「CPersonのToString()オーバーライドは、リストボックスに名前と電話番号を表示するために使用されるであろう」と言いますしかし、私はこのようなものを使用しなければならないと思いますか?

 CPerson data = new CPerson(); 
     data.ToString(); 

コードは今あるよういずれにせよ、私は私のリストボックスに入る全ては「(コレクション)」です。どんな助けもありがとう!

+0

'listBox1.DataSource = PhoneNum;'バインディングリストはうまくいくはずです。 – LarsTech

+0

ありがとう!これまでのところうまくいく – user7115764

答えて

2

これは、ToString()メソッドをオーバーライドするよう求めています。あなたはこのようにそれを行うことができます。

class CPerson 
{ 

private string m_sName; 
private string m_sPhone; 

public string Name 
{ 
    get { return this.m_sName; } 
    set 
    { 

     this.m_sName = value; 
    } 
} 
public string Phone 
{ 
    get { return this.m_sPhone; } 
    set 
    { 
     this.m_sPhone = value; 
    } 
} 

public override string ToString() 
{ 
    return Name + ": " + Phone; 
} 

私は、リストへの追加の一部権利を取得しませんでしたが、私は、あなたが)(ToStringメソッドを使用して次の操作を行うことができ前提としています

listBox1.Items.Add(data.ToString()); 
閉じる
0

を..

class CPerson 
    { 
     private string m_sName; 
     private string m_sPhone; 

     public string Name 
     { 
      get { return this.m_sName; } 
      set 
      { 

       this.m_sName = value; 
      } 
     } 
     public string Phone 
     { 
      get { return this.m_sPhone; } 
      set 
      { 
       this.m_sPhone = value; 
      } 
     } 

     public override string ToString() 
     { 
      return Name + ": " + Phone; 
     } 
    } 
} 
関連する問題