form1のリストビューには、次の列の名前と電子メールがあり、次のようなデータがあるとします
NAME EMAIL
adam adam@gmail.com
james james@gmail.com
kris kris@gmail.com
このリストビューは form1 にあります。
リストビューには更新項目のあるコンテキストメニューがあり、フォーム1からジェームズ行を右クリックして選択すると、2つのテキストボックスを持つフォーム2がロードされ、リストビューの選択された行から名前と電子メールがそのテキストボックスに表示されるようになります
textbox1 = james
textbox2 = james@gmail.com
私が実際にしていることは。
form1 ive contextmenu でアイテムを更新します。updatecontextmenuをクリックすると、form2にテキストボックス名と電子メールが読み込まれます。リストビューには、上記のように名前と電子メールが含まれています。リストビューから選択した行の名前を form1 に配置して、それぞれテキストボックスと電子メールに名前を付けたいと思います。
私はこれを試しました。
フォーム1:
updateToolStripMenuItem_Click(...)
{
Form3 update = new Form3();
update.ShowDialog();
}
フォーム3:
Form3_Load(...)
{
Form1 f1 = new Form1();
string oldName = f1.listView1.SelectedItems[0].SubItems[0].Text;
string oldEmail = f1.listView1.SelectedItems[0].SubItems[0].Text;
textBox1.Text = oldName.ToString();
textBox2.Text = oldEmail.ToString();
}
しかし、エラー InvalidArgument=Value of '0' is not valid for 'index' を取得しています