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);
}