devexpress pictureedit 按钮调用其菜单功能

来源:互联网 发布:博易大师行情软件 编辑:程序博客网 时间:2024/05/21 12:46

格式有点乱。

 

1.获取pictureedit的菜单

private DevExpress.XtraEditors.Controls.PictureMenu GetMenu(DevExpress.XtraEditors.PictureEdit edit)
        {
            PropertyInfo pi = typeof(DevExpress.XtraEditors.PictureEdit).GetProperty("Menu", BindingFlags.NonPublic | BindingFlags.Instance);
            if (pi != null)
                return pi.GetValue(edit, null) as DevExpress.XtraEditors.Controls.PictureMenu;
            return null;
        }

 

 2. 调用菜单中的方法

        private void InvokeMenuMethod(DevExpress.XtraEditors.Controls.PictureMenu menu, string name)
        {
            MethodInfo mi = typeof(DevExpress.XtraEditors.Controls.PictureMenu).GetMethod(name, BindingFlags.NonPublic | BindingFlags.Instance);
            if (mi != null && menu != null)
                mi.Invoke(menu, new object[] { menu, new EventArgs() });
        }

 

3.调用清除图片方法示例

            //the name can be on of the following values:OnClickedLoad;OnClickedSave;OnClickedCut;OnClickedCopy;OnClickedPaste;OnClickedDelete

        private void btnClear_Click(object sender, EventArgs e)
        {
            InvokeMenuMethod(GetMenu(ArCont), "OnClickedDelete");
        }

原创粉丝点击