用户控制和公共属性方面的问题

Adagio.hpt

新成员
已加入
2014年10月3日
留言内容
4
编程经验
5-10
我当前正在尝试创建一个用户控件,其中一个属性是MenuItem类的列表。这是我到目前为止的代码:

C#:
private List<MenuItem> menuItems = new List<MenuItem>();

        [Browsable(true)]
        public List<MenuItem>  菜单 Items
        {
            get
            {
                return menuItems;
            }
            set
            {
                menuItems = value;
                RefreshDisplay();
            }
        }

public void RefreshDisplay()
        {
            int row = 0;

            panelMenu.Controls.Clear();

            foreach (MenuItem item in  菜单 Items)
            {
                PictureBox pic = new PictureBox();

                pic.Image = item.DefaultImage;
                pic.Size =  菜单 ItemSize;
                pic.BorderStyle = System.Windows.Forms.BorderStyle.None;
                pic.Location = new Point(Spacing + (MenuItemSize.Width * row), Spacing);

                panelMenu.Controls.Add(pic);

                row++;
            }
        }

[Serializable()]
    public class  菜单 Item
    {
        public string Text
        {
            get;
            set;
        }

        public Image DefaultImage
        {
            get;
            set;
        }

        public  菜单 Item()
        {

        }

    }

我正在尝试做的是使在表单设计器(此用户控件所在的位置)中能够设置项目成为可能。我在想一些与您使用TabPage相同的方式,您可以在其中打开TabPage集合编辑器,从中可以设置选项卡页的不同属性

使用该代码,我可以使用属性添加MenuItems,并在其中打开MenuItem Collections编辑器。从外观上看,似乎正是我想要的。
不幸的是,它不起作用。当我使用MenuItem Collections编辑器添加项目时,它将对我的解决方案产生影响,使其无法构建。它带有错误"无法加载文件或程序集CommonTools.dll或其依赖项之一。创建了一个Attemt来加载格式不正确的程序。 167行,在BasicMenuForm.resx中的位置5。 BasicMenuForm与CommonTools.dll没有关系。当我打开文件并查看行时,它只是说:

C#:
(shortened the file)
OQ+6ArRDcxu3vCotMBfWuAJAZXhRfhG3IQ8XfWsD+GJDfMAG4lvp3fUcWzikMwDS8AaTf2tt/O0JRQAA
AABJRU5ErkJgggs=
</value>
  </data> // This is line 167
</root>

那里没有什么真正有用的。进入并删除添加的菜单项无济于事。我必须先从表单中删除用户控件,然后才能构建解决方案。

在我的解决方案中,我有两个项目:InfoCenter和CommonTools。我可以在InfoCenter进行用户控制和使用所有表单。 CommonTools是我自己在其他项目中使用的工具库。 InfoCenter引用了CommonTools。我用于测试的表单是新表单,表单或代码中没有其他内容。


有人知道这里可能是什么问题吗?
 
最佳 底部