簡體   English   中英

右鍵單擊datagrid單元以調出復制菜單(ContextMenu)

[英]Right-click on datagrid cell to bring up copy menu (ContextMenu)

我一直在嘗試創建右鍵單擊功能以在C#中調出上下文菜單,但是它似乎沒有用。 知道為什么嗎?

private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        ContextMenu m = new ContextMenu();
        m.MenuItems.Add(new MenuItem("Copy"));

        int currentMouseOverRow = dataGridView1.HitTest(e.X, e.Y).RowIndex;

        m.Show(dataGridView1, new Point(e.X, e.Y));
    }
}

我不確定您使用的是WPF / WinForms / BlackMagic / Etc ...,但是似乎每按一次右鍵,您都會創建一個新的上下文菜單,該菜單未附帶任何內容...

ContextMenu MyMenu = new ContextMenu();
MyMenu.MenuItems.Add("Copy");

您應該將其附加到正在使用的任何控件上(在您的情況下,我認為是網格或行):

SomeGrid.ContextMenu = MyMenu;

在WPF中,在ListBox上使用一個看起來像

<ListBox x:Name="NameYourList"  
      ItemsSource="{Binding SomeItem}"
      SelectedItem="{Binding SomeProperty, UpdateSourceTrigger=PropertyChanged}"
      >
<ListBox.ContextMenu>
    <ContextMenu>
        <MenuItem Header ="Copy Me" Command="{Binding Copy_Command}" 
                  CommandParameter="{Binding SomeProperty}"
        />
    </ContextMenu>
</ListBox.ContextMenu>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM