繁体   English   中英

将所选项目从第二形式的列表框传递到第一形式的列表框

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM