別のフォームからリストボックスに項目を追加しようとしています。Form1 には「ダミー」アイテムを含むリストボックスがあり、そのフォームからさらにアイテムを追加しようとすると、すべて正常に動作します。しかし、別のフォーム (AddContact.cs) からアイテムを追加しようとすると、アイテムが追加されません。両方のフォームからコードを提供します。
PS: リストボックスはパブリックに設定され、Form1 の外部からアクセスできるようになっています。
フォーム1:
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
list_names.Items.Add("Dummy");
}
private void btn_check_Click(object sender, EventArgs e)
{
if (list_names.SelectedItem == null)
{
MessageBox.Show("No item has been selected.", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else if (list_names.SelectedItem.ToString() == "Dummy")
{
//Dummy code for testing
MessageBox.Show("Dummy has been selected!");
}
}
private void btn_add_Click(object sender, EventArgs e)
{
new AddContact().Show();
}
private void btn_remove_Click(object sender, EventArgs e)
{
//TODO: Remove items from listbox
}
連絡先を追加:
Form1 form;
public AddContact()
{
InitializeComponent();
form = new Form1();
}
private void btn_add_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
{
MessageBox.Show("No input has been given.");
}
else
{
//This doesn't work
string s = textBox1.Text;
form.list_names.Items.Add(s);
textBox1.Text = "";
}
}