2012-06-14 92 views
1

對象如何引用自身?VB.Net自引用

我想創建一個菜單項,其中點擊後,它導航到它自己的標題。

以下代碼已基本完成,但我不知道foo的用途。

ContextMenu2.MenuItems.Add(Browser.URL.OriginalURL, Browser.Navigate(foo.Text)) 

編輯:一些上下文。

我想爲我的網絡瀏覽器製作收藏夾系統。 ContextMenu鏈接到一個按鈕(當點擊該按鈕時,菜單顯示出來)。所以我希望新的MenuItem在被點擊時導航到它自己的標題。標題是一個URL。

Private Sub MenuItem6_Click_1(ByVal sender As System.Object, 
        ByVal e As System.EventArgs) Handles MenuItem6.Click 
    ContextMenu2.MenuItems.Add(Browser.DocumentTitle, 
           Browser.Navigate(foo.Text)) 
End Sub  

回答

3

在VB中引用自己的關鍵字是Me。所以Me.Text

編輯:雖然上述是正確的,您對邁克爾的迴應的評論,表明你的意思是在一個事件,特別是事件發件人的上下文。在這種情況下,您通常會將發件人轉換爲適當的類型並使用它,或者只需使用處理該活動的項目(如果只有一個)。在你的榜樣,MenuItem6.Text ..

1

我寧願發表評論,但我沒有代表:)

如說你的問題感覺有點曖昧的對我來說,和代碼行你提供的並不能解決問題。乍一看,它會出現ContextMenu2.MenuItems是一些T的字典,但是OriginalURL似乎不是一個邏輯鍵入口。

如果您將'me.Text'作爲參數傳遞給Browser.Navigate,那麼您將傳遞ContextMenu2上執行調用的任何類的屬性'Text'。我不相信這是你的意圖。

你能澄清你的問題嗎?對象和方法的一些額外的上下文將有所幫助。

+0

我正在嘗試爲我的網絡瀏覽器製作收藏夾系統。 'ContextMenu'鏈接到一個按鈕(當點擊按鈕時,菜單顯示出來)。所以我希望新的'MenuItem'被點擊時導航到它自己的標題。標題是一個URL。 'Private Sub MenuItem6_Click_1(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles MenuItem6.Click ContextMenu2.MenuItems.Add(Browser.DocumentTitle,Browser.Navigate(foo.Text)) End Sub'如果你還有有任何建議或更簡單的方法來做到這一點我接受建議。 – user1455125

+0

@Michael:對於一個優秀的問題+1。我曾假設「foo」是一種形式或其他有意義的控制方式,但是您只是提出了將問題置於上下文中所需的信息。 – jmoreno