ContextMenu.Popup イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ショートカット メニューが表示される前に発生します。
public:
event EventHandler ^ Popup;
public event EventHandler Popup;
member this.Popup : EventHandler
Public Custom Event Popup As EventHandler
イベントの種類
例
次のコード例では、 の イベントのイベント ハンドラーをPopupContextMenu作成します。 イベント ハンドラーのコードは、2 つのコントロールPictureBoxのうち、名前付き コントロールと TextBox 名前付き pictureBox1
textBox1
コントロールのうち、ショートカット メニューを表示するコントロールを決定します。 がショートカット メニューを表示する原因となった ContextMenu コントロールに応じて、適切な MenuItem オブジェクトが に追加されます ContextMenu。 この例では、 という名前contextMenu1
の クラスのインスタンスがContextMenuフォーム内で定義されている必要があります。 この例では、 を持ち TextBox 、 PictureBox フォームに追加し、これらのコントロールの プロパティを ContextMenu に設定する contextMenu1
必要もあります。
private:
void MyPopupEventHandler( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
// Define the MenuItem objects to display for the TextBox.
MenuItem^ menuItem1 = gcnew MenuItem( "&Copy" );
MenuItem^ menuItem2 = gcnew MenuItem( "&Find and Replace" );
// Define the MenuItem object to display for the PictureBox.
MenuItem^ menuItem3 = gcnew MenuItem( "C&hange Picture" );
// Clear all previously added MenuItems.
contextMenu1->MenuItems->Clear();
if ( contextMenu1->SourceControl == textBox1 )
{
// Add MenuItems to display for the TextBox.
contextMenu1->MenuItems->Add( menuItem1 );
contextMenu1->MenuItems->Add( menuItem2 );
}
else if ( contextMenu1->SourceControl == pictureBox1 )
{
// Add the MenuItem to display for the PictureBox.
contextMenu1->MenuItems->Add( menuItem3 );
}
}
private void MyPopupEventHandler(System.Object sender, System.EventArgs e)
{
// Define the MenuItem objects to display for the TextBox.
MenuItem menuItem1 = new MenuItem("&Copy");
MenuItem menuItem2 = new MenuItem("&Find and Replace");
// Define the MenuItem object to display for the PictureBox.
MenuItem menuItem3 = new MenuItem("C&hange Picture");
// Clear all previously added MenuItems.
contextMenu1.MenuItems.Clear();
if(contextMenu1.SourceControl == textBox1)
{
// Add MenuItems to display for the TextBox.
contextMenu1.MenuItems.Add(menuItem1);
contextMenu1.MenuItems.Add(menuItem2);
}
else if(contextMenu1.SourceControl == pictureBox1)
{
// Add the MenuItem to display for the PictureBox.
contextMenu1.MenuItems.Add(menuItem3);
}
}
Private Sub MyPopupEventHandler(sender As System.Object, e As System.EventArgs)
' Define the MenuItem objects to display for the TextBox.
Dim menuItem1 As New MenuItem("&Copy")
Dim menuItem2 As New MenuItem("&Find and Replace")
' Define the MenuItem object to display for the PictureBox.
Dim menuItem3 As New MenuItem("C&hange Picture")
' Clear all previously added MenuItems.
contextMenu1.MenuItems.Clear()
If contextMenu1.SourceControl Is textBox1 Then
' Add MenuItems to display for the TextBox.
contextMenu1.MenuItems.Add(menuItem1)
contextMenu1.MenuItems.Add(menuItem2)
ElseIf contextMenu1.SourceControl Is pictureBox1 Then
' Add the MenuItem to display for the PictureBox.
contextMenu1.MenuItems.Add(menuItem3)
End If
End Sub
注釈
このイベントを使用して、オブジェクトを表示する MenuItem 前に初期化できます。 たとえば、3 つのTextBoxコントロールに 対して をContextMenu使用し、ショートカット メニューを表示しているTextBoxメニュー項目に応じて でContextMenu特定のメニュー項目を無効にする場合は、このイベントのイベント ハンドラーを作成できます。 プロパティを使用して、 をSourceControl表示する対象TextBoxを特定し、適切なMenuItemオブジェクトContextMenuを無効にすることができます。
イベントの処理の詳細については、「処理とイベントの発生」を参照してください。
適用対象
.NET