2013-03-26 72 views
-1

好吧,所以我在我的web瀏覽器(form1)中有一個名爲書籤的按鈕。我希望它將URL添加到Form3中的列表框中。當我嘗試時,我得到一個錯誤的錯誤。列表框從按鈕添加

此錯誤:

enter image description here

但我改變了我的代碼如下:

Form3.AC.listBox1.Items.Add(getCurrentBrowser().Url.ToString()); 

還是錯誤

全碼:

private void button6_Click(object sender, EventArgs e) 
{ 
    Form3.AC.listBox1.Items.Add(getCurrentBrowser().Url.ToString()); 
} 

回答

2

你傳遞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:

I dont understand that. I get the error for _form

確保在Form3的一個實例傳遞給AddFavorites的構造。如果您不傳入Form3參數,它將調用默認構造函數(即使它在您的代碼中不可見)。提示:當您重載類構造函數並刪除無參數類時,無參數類實際上仍然可用。

所以不這樣做:

var frmAddFavs = new AddFavorites(); 
    frmAddFavs.Show(); 

這是與此相同:

var frmAddFavs = new AddFavorites(NULL); 
    frmAddFavs.Show(); 
+0

我不明白這一點。我得到_form的錯誤 – TheEpicBraxton 2013-03-26 03:26:11