【问题标题】:Using one context menu strip with multiple grids使用具有多个网格的一个上下文菜单条
【发布时间】:2013-09-12 09:37:42
【问题描述】:

我在一个表单上使用了多个 xtragrid,并希望在这些网格上使用一个带有删除功能的上下文菜单条。我想处理上下文菜单的点击事件:

private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            GridView view = sender as GridView;
            {



            }
        }

试过这段代码,但由于某种原因,我无法从发件人那里获取数据。是否有机会知道单击了菜单的哪个网格,以便我可以从单击的网格中删除该行?

【问题讨论】:

  • "是否有机会知道单击了菜单的哪个网格,以便我可以从单击的网格中删除该行?" - 是的,但您提供的代码不会告诉我们 - 或您 - 点击了哪个。
  • 看起来sender就是deleteToolStripMenuItem,但是这取决于原始代码实现的event raising mechanism,你应该通过打印出@987654325的类型来进行一些简单的检查@@sender.GetType().

标签: c# winforms devexpress


【解决方案1】:

您可以使用ContextMenuStrip.SourceControl 来访问弹出Context menu 的控件,当然当您右键单击您的网格时,SourceControl 将是您的网格:

private void deleteToolStripMenuItem_Click(object sender, EventArgs e){
  GridView view = contextMenuStrip1.SourceControl as GridView;//Not sure if it's GridView or GridControl, you may want to try it yourself (I'm not familiar with DevExpress)
  //....
  //....
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多