簡體   English   中英

ListBox從按鈕添加

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM