次の方法で共有


MenuItem.PerformClick メソッド

MenuItemClick イベントを生成し、ユーザーによるクリック操作をシミュレートします。

Public Sub PerformClick()
[C#]
public void PerformClick();
[C++]
public: void PerformClick();
[JScript]
public function PerformClick();

解説

このメニューを使用すると、イベント情報を渡さずにコードによってメニュー項目をアクティブにすることができます。たとえば、アプリケーションで発生するアクションに基づいてメニュー項目をアクティブにする場合は、その MenuItemPerformClick メソッドを呼び出すことができます。

使用例

[Visual Basic, C#, C++] この例では、 PerformClick メソッドを使用して、プログラムによってメニュー項目をクリックします。最初に、メイン メニュー (mainMenu1) を作成し、2 つのメニュー項目、 menuItem1 (File) および menuItem2 (Edit) を追加します。また、メニュー項目がクリックされると、 Click イベントを使用してデータをイベント ハンドラに送信します。次に、 PerformClick メソッドを使用して File メニュー項目をクリックします。アプリケーションを起動すると、File メニュー項目がアクティブにされ、テキスト "The File menu is clicked" のあるメッセージ ボックスが画面に表示されます。この例は、 Form1 という名前の Form を作成済みであることを前提にしています。

 
Public Sub CreateMyMenu()
    ' Create a main menu object.
    Dim mainMenu1 As New MainMenu()

    ' Create empty menu item objects.
    Dim menuItem1 As New MenuItem()
    Dim menuItem2 As New MenuItem()

    ' Set the caption of the menu items.
    menuItem1.Text = "&File"
    menuItem2.Text = "&Edit"

    ' Add the menu items to the main menu.
    mainMenu1.MenuItems.Add(menuItem1)
    mainMenu1.MenuItems.Add(menuItem2)

    ' Add functionality to the menu items. 
    AddHandler menuItem1.Click, AddressOf Me.menuItem1_Click
    AddHandler menuItem2.Click, AddressOf Me.menuItem2_Click

    ' Assign mainMenu1 to the form.
    Me.Menu = mainMenu1

    ' Perform a click on the File menu item.
    menuItem1.PerformClick()
End Sub 'CreateMyMenu


Private Sub menuItem1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    MessageBox.Show("You clicked the File menu.", "The Event Information")
End Sub 'menuItem1_Click


Private Sub menuItem2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    MessageBox.Show("You clicked the Edit menu.", "The Event Information")
End Sub 'menuItem2_Click

[C#] 
public void CreateMyMenu()
{
    // Create a main menu object.
    MainMenu mainMenu1 = new MainMenu();

    // Create empty menu item objects.
    MenuItem menuItem1 = new MenuItem();
    MenuItem menuItem2 = new MenuItem();

    // Set the caption of the menu items.
    menuItem1.Text = "&File";
    menuItem2.Text = "&Edit";

    // Add the menu items to the main menu.
    mainMenu1.MenuItems.Add(menuItem1);
    mainMenu1.MenuItems.Add(menuItem2);
    
    // Add functionality to the menu items. 
    menuItem1.Click += new System.EventHandler(this.menuItem1_Click);
    menuItem2.Click += new System.EventHandler(this.menuItem2_Click);
    
    // Assign mainMenu1 to the form.
    this.Menu=mainMenu1;

    // Perform a click on the File menu item.
    menuItem1.PerformClick();
}

private void menuItem1_Click(object sender, System.EventArgs e)
{    
    MessageBox.Show("You clicked the File menu.","The Event Information");        
}

private void menuItem2_Click(object sender, System.EventArgs e)
{
    MessageBox.Show("You clicked the Edit menu.","The Event Information");        
}

[C++] 
public:
    void CreateMyMenu() {
        // Create a main menu object.
        MainMenu* mainMenu1 = new MainMenu();

        // Create empty menu item objects.
        MenuItem* menuItem1 = new MenuItem();
        MenuItem* menuItem2 = new MenuItem();

        // Set the caption of the menu items.
        menuItem1->Text = S"&File";
        menuItem2->Text = S"&Edit";

        // Add the menu items to the main menu.
        mainMenu1->MenuItems->Add(menuItem1);
        mainMenu1->MenuItems->Add(menuItem2);

        // Add functionality to the menu items.
        menuItem1->Click += new System::EventHandler(this, &Form1::menuItem1_Click);
        menuItem2->Click += new System::EventHandler(this, &Form1::menuItem2_Click);

        // Assign mainMenu1 to the form.
        this->Menu=mainMenu1;

        // Perform a click on the File menu item.
        menuItem1->PerformClick();
    }

private:
    void menuItem1_Click(Object* /*sender*/, System::EventArgs* /*e*/) {
        MessageBox::Show(S"You clicked the File menu.", S"The Event Information");
    }

    void menuItem2_Click(Object* /*sender*/, System::EventArgs* /*e*/) {
        MessageBox::Show(S"You clicked the Edit menu.", S"The Event Information");
    }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

MenuItem クラス | MenuItem メンバ | System.Windows.Forms 名前空間