none
请教自定义控件出错的问题,谢谢。 RRS feed

  • 问题

  • 点击自动控制的集合属性,加上一些值后。提示以下内容:

    属性”xxx“(自定义控件的一个集合属性)的代码生成失败。错误是:“程序集System.Windows.Forms, Version=2.0.0.0”,Culture=neutral,PublicKeyToken=xxxxxxx“中类型”System.Window.Forms.ContextMenuStrip“未标记为可序化。

    这什么意思,这个错误看不懂。

    我的集合属性设置的是
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]

    我google到[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]可以解决这个问题,但这样设置之后,我设定这个属的值不会被IDE所保存,下次重新打开窗口,自定义控件这个属性的值就清空了。
    2009年11月9日 8:36

答案

  • 设计器不支持泛型。把List<XXX>换成你自己定义的类型。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 YiChun Chen 2009年11月10日 8:40
    2009年11月10日 4:39
    版主

全部回复

  • 你好!

    其实提示很明确了,请将的 XXX 这个属性的类标记为可以序列化。添加序列化标记语句如下:

    [Serializable]
    public class YourClassName
    {
    //......
    }

    知识改变命运,奋斗成就人生!
    2009年11月9日 9:33
    版主
  • 你好!

    其实提示很明确了,请将的 XXX 这个属性的类标记为可以序列化。

    知识改变命运,奋斗成就人生!
    1.类我已经标为序列化了
    2.你看提示是“类型”System.Window.Forms.ContextMenuStrip“未标记为可序化。”.net自带的ContextMenuStrip我怎么标记为可序列化,并且我根本就没有使用到这个玩意。
    2009年11月9日 9:36
  • 你好!

    如果方便的话,能否将你这部分的代码帖出来呢?

    知识改变命运,奋斗成就人生!
    2009年11月9日 9:51
    版主
  • 你好!

    如果方便的话,能否将你这部分的代码帖出来呢?

    知识改变命运,奋斗成就人生!
    我定位到了错误的地点,就是我的自定控件的集合 

    List<XXX> aa = new List<XXX>();

    其中类XXX中有一个属性为ContextMenuStrip所造成的错误,如果把这个属性去掉,程序就正常了。请问这里如何使用?
    2009年11月9日 11:21
  • 你好!

    其实提示很明确了,请将的 XXX 这个属性的类标记为可以序列化。

    知识改变命运,奋斗成就人生!
    1.类我已经标为序列化了
    2.你看提示是“类型”System.Window.Forms.ContextMenuStrip“未标记为可序化。”.net自带的ContextMenuStrip我怎么标记为可序列化,并且我根本就没有使用到这个玩意。
    可能是间接的使用到了上下文菜单,你双击这个错误可以定位到代码行!找到使用这个类型的字段,把这个字段标记成NonSerialized!


    周雪峰
    2009年11月9日 11:59
    版主
  • 设计器不支持泛型。把List<XXX>换成你自己定义的类型。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 YiChun Chen 2009年11月10日 8:40
    2009年11月10日 4:39
    版主