[英]ListBox Add from button
好的,所以我在Web瀏覽器(form1)中有一個名為“書簽”的按鈕。 我希望它將URL添加到Form3中的列表框中。 當我嘗試時,出現錯誤提示。
這個錯誤:
但是我將代碼更改為:
Form3.AC.listBox1.Items.Add(getCurrentBrowser().Url.ToString());
仍然錯誤
完整代碼:
private void button6_Click(object sender, EventArgs e)
{
Form3.AC.listBox1.Items.Add(getCurrentBrowser().Url.ToString());
}
您傳入了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();
或者,如果Form3啟動/實例化了AddFavorites表單:
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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.