このトピックに関する多くの回答を見てきましたが、特定の状況でCustomer
というクラスが使用されていて、クリックした選択した名前にtbxFirstName
というテキストボックスを設定しようとしています。リストボックスにはtbxFirstName.Text = cust.getFirstName;
を設定します。リストボックスのテキストでテキストボックスを塗りつぶす
名前のテキストボックスに選択した項目の文字列を再入力しない理由がわかりません。
これは私のコードです。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
listBoxDatabase.Name = "CUSTOMERS";
}
private void btnAddCustomer_MouseClick(object sender, MouseEventArgs e)
{
Customer cust = new Customer(tbxFirstName.Text, tbxLastName.Text, tbxPhone.Text);
if (listBoxDatabase.Items.Contains(cust.ToString()))
{
MessageBox.Show("Customer Already Exist!", "ERROR");
} else
{
listBoxDatabase.Items.Add(cust.ToString());
}
}
private void listBoxDatabase_SelectedIndexChanged(object sender, EventArgs e)
{
Customer cust = new Customer(tbxFirstName.Text, tbxLastName.Text, tbxPhone.Text);
tbxFirstName.Text = cust.getFirstName;
}
}
class Customer
{
//Variables
private string firstName, lastName, phone;
//Constructor
public Customer(string firstName, string lastName, string phone)
{
this.firstName = firstName;
this.lastName = lastName;
this.phone = phone;
}
public string getFirstName
{
get
{
return firstName;
}
}
public string getLastName
{
get
{
return lastName;
}
}
public string getPhone
{
get
{
return phone;
}
}
public override string ToString()
{
return firstName + " " + lastName + " " + phone;
}
}
誰もが私が行方不明です何で私を助けることができますか?
ような何かをしようと私はあなたのSelectedIndexChangedイベントには、リストボックスの代わりに
にアイテム/オブジェクトを追加することをお勧め?リストボックスのSelectedIndexChangedイベントにlistBoxDatabase_SelectedIndexChangedプロセスのどこかが追加されなかった場合、メソッドは決して起動されません。 –
私は、リストボックスアイテムが選択されているときに何をしようとしているのか、ちょっと混乱しています。最初にtbxFirstNameテキストボックスからファーストネームの顧客を作成し、tbxFirstNameのTextプロパティと同じ値を設定しようとします。 **編集:** Rahulが答えるのに数秒先だったようです。 – hankide
@KelsonBall私はリストボックスをダブルクリックしたので、実際のオブジェクトに登録されていると思います。 – Ashton