.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 件のコメント:
コメントを投稿