【发布时间】:2015-11-21 21:18:40
【问题描述】:
我正在尝试使列表框中的项目(或字符串)出现在 3 个不同的文本框中。该字符串从用户输入添加到列表框中。到目前为止,我已经设法让三个文本框在每个文本框中显示整个字符串。虽然我希望他们展示不同的东西。所以我将用户输入字符串拆分为一个包含三个值的数组,但我似乎无法让它在三个文本框中显示相关信息。我还应该提到,文本框应该只在选择列表框项时显示它们的值。
private void firstContacts_SelectedIndexChanged(object sender, EventArgs e)
{
//firstContacts is the listbox
//txtFirstName, txtLastName and txtPhoneNumber are the 3 different textboxes
if (firstContacts.SelectedItem != null)
{
txtFirstName.Text = firstContacts.GetItemText(firstContacts.SelectedItem);
txtLastName.Text = firstContacts.SelectedItem.ToString();
txtPhoneNumber.Text = firstContacts.SelectedItem.ToString();
}
private void btnSaveContact_Click(object sender, EventArgs e)
{
if (this.txtNewContact.Text != "")
{
try
{
string[] delimiters = new string[] { "," };
string[] stringArray = txtNewContact.Text.Split(delimiters, StringSplitOptions.None);
Contact person = new Contact(stringArray[0], stringArray[1], stringArray[2]);
firstContacts.Items.Add(person);
class Contact
{
public Contact(string firstName, string lastName, string phoneNumber) //Constructor
{
this.FirstName = firstName;
this.LastName = lastName;
this.PhoneNumber = phoneNumber;
}
public override string ToString()
{
return LastName.TrimStart(' ') + " " + FirstName + PhoneNumber;
}
//Properties
public string FirstName { get; private set; }
public string LastName { get; private set; }
public string PhoneNumber { get; private set; }
}
【问题讨论】: