首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PropertyGrid中的ContextMenuStrip

PropertyGrid中的ContextMenuStrip
EN

Stack Overflow用户
提问于 2013-10-02 13:34:11
回答 1查看 207关注 0票数 0

controlTell me不能添加顶级控件,如何在PropertyGrid中显示ContextMenuStrip?为此,我使用以下代码:

代码语言:javascript
复制
public class SaveFileNameEditor : UITypeEditor
    {
        public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
        {
            return UITypeEditorEditStyle.DropDown;
        }

        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            IWindowsFormsEditorService FileEditor =
            provider.GetService(typeof(IWindowsFormsEditorService)) as
             IWindowsFormsEditorService;
            ContextMenuStrip MenuList = null;
            ToolStripMenuItem MenuItem = null;
            if (FileEditor != null)
            {
                MenuList = new ContextMenuStrip ();
                MenuItem = new ToolStripMenuItem("Add File...");
                MenuList.Items.Add(MenuItem);
                MenuItem = new ToolStripMenuItem("Save File ...");
                MenuList.Items.Add(MenuItem);
                MenuItem = new ToolStripMenuItem("Delete File ...");
                MenuList.Items.Add(MenuItem);

                FileEditor.DropDownControl(MenuList);
                MenuList.Show();
            }
            return value;
        }    
    }

但是我在第行得到错误信息"Top-level control But be added to a control“

代码语言:javascript
复制
FileEditor.DropDownControl(MenuList);
EN

回答 1

Stack Overflow用户

发布于 2013-10-03 14:55:12

我已经找到了解决方案。而不是

代码语言:javascript
复制
FileEditor.DropDownControl(MenuList);

代码语言:javascript
复制
Point MenuCoords = (System.Windows.Forms.Control.MousePosition);
MenuList.Show(MenuCoords);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19130566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档