您传入 Form3 的一个实例,但您没有使用该实例,请将您的代码更改为此并试一试:
private void button6_Click(object sender, EventArgs e)
{
_form.AC.listBox1.Items.Add(getCurrentBrowser().Url.ToString());
}
更新:
当您实例化 AddFavourites 类/表单时,您将 Form3 的实例传递给构造函数:
var frmAddFavs = new AddFavorites(new Form3());
frmAddFavs.Show();
或者,如果 AddFavorites 表单由 Form3 启动/实例化:
var frmAddFavs = new AddFavorites(this);
frmAddFavs.Show();
在 AddFavorites 的构造函数中,您存储了 Form3 实例的副本:
public AddFavorite(Form3 form)
{
InitializeComponent();
this._form = form; //<- here we store the Form3 instance
}
在您单击按钮时,您正在调用Form3.AC.Listbox...
,但该上下文中的 Form3 尚未实例化。
我的回答是使用作为_form
Form3 实例的私有成员变量。
更新 2:
我不明白。我收到 _form 的错误
确保将 Form3 的实例传递给 AddFavorites 的构造函数。如果您不传入 Form3 参数,它将调用默认构造函数(即使它在您的代码中不可见)。提示:当您重载类构造函数并删除无参数构造函数时,无参数构造函数实际上仍然可用。
所以不要这样做:
var frmAddFavs = new AddFavorites();
frmAddFavs.Show();
这与此相同:
var frmAddFavs = new AddFavorites(NULL);
frmAddFavs.Show();