C# 在单独的表单上的文本框中显示选定的列表框项目?

C# 在单独的表单上的文本框中显示选定的列表框项目?,c#,listbox,dataset,C#,Listbox,Dataset,我试图在列表框中选择一个项目,并将其以不同的形式显示在文本框中。我希望当我点击主窗体上的按钮时,它会触发,这样选定的项目就会显示在文本框中 在我的主要表格中,我有: public static string myListBoxString; private void lstDictionary_SelectedIndexChanged(object sender, EventArgs e) { myListBoxString = lstDictionary.SelectedItem

我试图在列表框中选择一个项目,并将其以不同的形式显示在文本框中。我希望当我点击主窗体上的按钮时,它会触发,这样选定的项目就会显示在文本框中

在我的主要表格中,我有:

public static string myListBoxString;

private void lstDictionary_SelectedIndexChanged(object sender, EventArgs  e)
{
     myListBoxString = lstDictionary.SelectedItem.ToString();
}

private void btnEdit_Click(object sender, EventArgs e)
{
   EditWordForm myEditWordForm = new EditWordForm();
   myEditWordForm.SelectedValue = myListBoxString;
   myEditWordForm.ShowDialog();

   this.dictionaryTableAdapter.Fill(this.dictionaryDataSet.Dictionary);

}
在第二种形式中,我尝试放置所选单词:

public partial class EditWordForm : Form
{
    public EditWordForm()
    {
        InitializeComponent();

        wordTextBox.Text = MainForm.myListBoxString;            
    }

    public string SelectedValue
    {
        set
        {
           wordTextBox.Text = value;
        }
    }


}
编辑*

现在我可以编辑这个单词了,我想把它保存到数据库中。当前,当它保存时,它会将所有10个单词替换为新单词,而不是一个特定条目。
从我阅读和查找的内容来看,这段代码似乎应该可以工作,但到目前为止,它只是在运行应用程序后在文本框中显示一个空字段。我能想到的唯一一件事是,我正在使用一个数据集来填充初始列表框,这就是放弃它?感谢您的指导

在EditWordForm中添加一个名为SelectedValue的属性

public string SelectedValue
{
     set
     {
          wordTextBox.Text = value;
     }
}
在显示窗体之前,从主窗体设置此属性

private void btnEdit_Click(object sender, EventArgs e)
{
   EditWordForm myEditWordForm = new EditWordForm();
   myEditForm.SelectedValue = lstDictionary.GetItemText(lstDictionary.SelectedItem);

   myEditWordForm.ShowDialog();

   this.dictionaryTableAdapter.Fill(this.dictionaryDataSet.Dictionary);

}

EditWordForm如何访问主窗体?它应该被传递到构造函数中并作为属性访问吗?我在上面显示了editwordform的编辑,但在运行时它仍然显示一个空的文本框字段it@John是否在主窗体中也设置了MyEdit form.SelectedValue=myListBoxString,就在ShowDialog之前?是的我添加了那个部分aswell@John你能试试myEditForm.SelectedValue=lstDictionary.SelectedItem.ToString()吗?它在文本框中显示了“System.Data.DataRowView”,而不是我选择的“apple”这个词
private void btnEdit_Click(object sender, EventArgs e)
{
   EditWordForm myEditWordForm = new EditWordForm();
   myEditForm.SelectedValue = lstDictionary.GetItemText(lstDictionary.SelectedItem);

   myEditWordForm.ShowDialog();

   this.dictionaryTableAdapter.Fill(this.dictionaryDataSet.Dictionary);

}