[英]Passing selected item from a listbox in 2nd form to listbox in 1st form
//以主要形式存在一个公共列表框“ lstMain”
//以addTask形式
Main main = new Main();
private void btnTaskAdd_Click(object sender, EventArgs e)
{
main.lstMain.Items.Add(lstAddTask.SelectedItem.ToString());
this.Close();
}
此代码不会将lstAddTask中的所选项目传递给主窗体中的lstMain
任何帮助将是巨大的感谢:-)
您应该使用以下内容:
// this function should be written in the main form
private void btnTaskAdd_Click(object sender, EventArgs e)
{
var form=new addTaskForm();
if(form.ShowDialog()==DialogResult.Ok)
{
// in the form addTaskForm you add a string property called SelectedItem,
// and on selection change in the lstAddTask then you set the SelectedItem,
// the lstAddTask_SelectedIndexChanged will be written in addTaskForm
lstMain.Items.Add(form.SelectedItem);
this.Close();
}
}
希望这个能对您有所帮助
问候
您的代码无法正常工作,因为您没有在第二种形式中引用第一种形式。
您可以使用Hadi的答案,也可以修改第二个表单以具有可以存储对第一个表单的引用的属性。
例如,Main MainForm {get; set;}
private void btnTaskAdd_Click(object sender, EventArgs e)
{
main.lstMain.Items.Add(lstAddTask.SelectedItem.ToString());
this.Close();
}
然后以您的主要形式
var form = new addTaskForm();
form.MainForm = this;
form.ShowDialog()
//etc.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.