我目前有兩種表單,一種用于在從列表框中選擇用戶時顯示信息(列表框列出名稱,選擇時它將填充我擁有的幾個文本框,一個用于城市,另一個用于地址),第二個表單允許我輸入用戶的信息,當我單擊“提交”時,這些信息將顯示在 form1 上的列表框中。目前,我可以將第二個表單中的用戶添加到第一個表單中的列表框中,但是每當我在列表框中單擊他們的姓名時,我都會在文本框中填寫他們的信息時遇到問題。截至目前,我已經嘗試實現不同的代碼片段,但作為初學者,我不確定如何執行此操作。我的第一個表格如下 public Form1(){ InitializeComponent();}private void ButtonAddUser_Click(object sender, EventArgs e){ Form2 form = new Form2(textBoxFirstName.Text, listBoxUsers); form.Owner = this; form.ShowDialog(); form.Show();}private void listBoxUser_SelectedIndexChanged(object sender, EventArgs e){ if (listBoxUser.SelectedIndex != -1) { User selected = (User)listBoxUser.SelectedItem; textBoxStreet.Text = selected.Street; textBoxCity.Text = selected.City; }}我添加用戶信息的第二個表單如下public partial class Form2 : Form{ private ListBox _listBoxUsers; public Form(string value, ListBox listBoxUser) { InitializeComponent(); value=($"{textBoxFirstName.Text} {textBoxLastName.Text}"); _listBoxUsers = listBoxUsers; } private void ButtonSubmit_Click(object sender, EventArgs e) { _listBoxUsers.Items.Add($"{textBoxFirstName.Text} {textBoxLastName.Text}"); this.Close(); }}以及我試圖存儲文本框信息的班級public class User : EventArgs{ public string Street {get; set;} public string City {get;set;} public User(string street, string city) { Street = street; City = city; }}簡而言之:我試圖將第二個表單中的信息保存到我的類中,當我從列表框中選擇一個用戶時,它將在文本框中顯示他的街道和城市(我的列表框和文本框都在我的第一個表單上。)。謝謝你的幫助
1 回答

元芳怎么了
TA貢獻1798條經驗 獲得超7個贊
在第二種形式中,您應該創建 User 對象并填寫街道和城市等詳細信息。
private void ButtonSubmit_Click(object sender, EventArgs e)
{
User user = new User(textBoxFirstName.Text, textBoxLastName.Text);
_listBoxUsers.Items.Add(user);
this.Close();
}
由于 Listbox.Items 需要對象類型,因此您可以添加從 System.Object 派生的任何內容。但在 form1 中,您創建了包含用戶對象的列表,并且在選定的索引更改期間,您將類型轉換為用戶對象。但在 form2 中,您在單擊提交按鈕期間并未實際插入 User 對象。
因此,我認為您面臨這個問題。嘗試使用上面的代碼并檢查
- 1 回答
- 0 關注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消