[英]How to determine which control opens ContextMenuStrip
在我的表單中,我具有MenuStrip,ContextMenuStrip和DataGridView。
相同的ContextMenuStrip作為“ DropDown”附加到一個MenuStripItem,並作為“ ContextMenuStrip”附加到DataGridView。 很好
問題是我必須知道打開那個ContextMenuStrip(MeuStripItem或DataGridView)的內容,因此我可以根據它隱藏一些項目。
這是我嘗試確定呼叫者是否為MenuStrip1無效的方法。
Private Sub mycontextmenu_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles mycontextmenu.Opening
If CType(sender, MenuStrip) Is MenuStrip1 Then
ExitToolStripMenuItem.Visible = False
Else
ExitToolStripMenuItem.Visible = True
End If
End Sub
此處出現錯誤消息:無法將類型為“ System.Windows.Forms.ContextMenuStrip”的對象轉換為類型為“ System.Windows.Forms.MenuStrip”。
請幫助解決所描述的問題。
發送者將是上下文菜單條,源控件屬性將檢索所有者實例
Private Sub mycontextmenu_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles mycontextmenu.Opening
If mycontextmenu.SourceControl is MenuStrip1 Then
ExitToolStripMenuItem.Visible = False
Else
ExitToolStripMenuItem.Visible = True
End If
結束子
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.