我有一个处理地图鼠标点击目标更改
void DefaultSelection_SelectionChangedEvent(object sender, MapInfo.Engine.SelectionChangedEventArgs e)
{}现在新建一个菜单事件 如何去调上面的?
private void toolStripMenuItem6_Click(object sender, EventArgs e)
        {
                     //这里怎么用DefaultSelection_SelectionChangedEvent啊?
        }主要是 MapInfo.Engine.SelectionChangedEventArgs e 与  EventArgs e
请指教!!

解决方案 »

  1.   

    创建MapInfo.Engine.SelectionChangedEventArgs对像,作为参数传入。
      

  2.   

    你调用反了吧,
    事件要先注册,
    再调用的private void toolStripMenuItem6_Click(object sender, EventArgs e)
      {
     MapInfo.Engine.SelectionChangedEventArgs e=new MapInfo.Engine.SelectionChangedEventArgs();
    e....(这里实例化类及各种操作)
          DefaultSelection_SelectionChangedEvent(null,e); //调用事件
      }
    void DefaultSelection_SelectionChangedEvent(object sender, MapInfo.Engine.SelectionChangedEventArgs e)
    {
       //在这里获取e 的各项值
    }
      

  3.   

    Error 4 The type 'MapInfo.Engine.SelectionChangedEventArgs' has no constructors defined MapInfo.Engine.SelectionChangedEventArgs 的封装如下。  using MapInfo.Data;
    using System;namespace MapInfo.Engine
    {
        public sealed class SelectionChangedEventArgs : EventArgs
        {
            public IResultSetFeatureCollection Features { get; }
            public bool Selected { get; }
        }
    }什么原因啊
      

  4.   

    将DefaultSelection_SelectionChangedEvent 中执行的代码 定义成函数在toolStripMenuItem6_Click中调用函数。
      

  5.   

    我搞不懂你的DefaultSelection是个什么类型的控件 
    不知道什么控件有SelectionChangedEvent事件 难道是自定义的?
    不论如何 不知道这个控件有没有 MouseDown 事件 
    有的话可以这样 不把
    右键菜单直接挂在DefaultSelection.ContextMenuStrip上
    我这办法自己想的 不知道有没有更好的办法        int X;
            int Y;
            private void DefaultSelection_MouseDown(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Right)
                {
                    this.contextMenuStrip1.Show();   //这样你的 菜单就会在当前鼠标位置显示。
                    this.X = e.X;
                    this.Y = e.Y;
                }
            }        private void toolStripMenuItem6_Click(object sender, EventArgs e)
            {
                MessageBox.Show(this.X + " - " + this.Y);
            }
      

  6.   

    额 上面代码有点错误
    this.contextMenuStrip1.Show(Control.MousePosition);   //这样你的 菜单就会在当前鼠标位置显示。