.NET Framework 1.1以前はContextMenuクラスを使用します。
.NET Framework 2.0からはContextMenuStripクラスを使用します。
右クリックメニューを表示したコントロールを取得するには
ToolStripMenuItemのOwnerプロパティよりContextMenuStripを取得し、
ContextMenuStripのSourceControlプロパティより取得できます。
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Load
Dim lbl As New Label
lbl.Name = "Label1"
lbl.Text = lbl.Name
lbl.Location = New Point(10, 10)
Me.Controls.Add(lbl)
Dim cms As New System.Windows.Forms.ContextMenuStrip
cms.Items.Add("テスト(&T)", Nothing, AddressOf ContextMenuItem_Clicked)
lbl.ContextMenuStrip = cms
End Sub
Private Sub ContextMenuItem_Clicked(ByVal sender As Object, ByVal e As System.EventArgs)
Dim tsi As ToolStripMenuItem = DirectCast(sender, ToolStripMenuItem)
Dim cms As ContextMenuStrip = DirectCast(tsi.Owner, ContextMenuStrip)
Dim ctrl As Control = cms.SourceControl
Console.WriteLine(ctrl.Name)
End Sub
End Class
0 件のコメント:
コメントを投稿