【问题标题】:Component doesn't get serialized组件未序列化
【发布时间】:2011-03-22 05:47:09
【问题描述】:

我创建了一个具有 (DataGridViewColumnColection) 类型的属性的控件。 为了在设计时设置这个组件,我创建了一个自定义设计器。在设计时,一切正常。我可以创建列、更改详细信息等,但在运行时我的所有设置都会消失。我猜这个问题出在代码序列化中。我的设置在 initializecomponent 方法中没有被序列化。

您可以从这里下载我的项目的某些部分:

http://rapidshare.com/files/452543887/Training.zip

在学生表单属性中,您可以看到一个属性(MasterColumns), 此属性在设计时正确控制 datagridview 列,但在运行时... 你可以看到.. 请帮帮我

【问题讨论】:

  • 你可以从 hear:rapidshare.com/files/452543887/Training.zip 下载项目 - 在学生表单中,我有一个属性 (MasterColumns) 可以在设计时正确控制 datagridview 的列,但在运行时......你可以看到......
  • 如果您在问题中发布代码,而不是要求人们下载一些 .zip 文件,您会得到更好的响应。

标签: c# serialization custom-controls design-time


【解决方案1】:

您需要使用 DesignerSerializationVisibility 属性。这是一个 C++ 示例:-

private: int fullWidth;
    public:
        [Browsable(false)]
        [DesignerSerializationVisibility(DesignerSerializationVisibility::Visible)]
        property int FullWidth
        {
            int get() { return this->fullWidth; }
            void set(int width) {
                this->fullWidth = width;
            }
        }

【讨论】:

    猜你喜欢
    • 2012-12-07
    • 2010-09-09
    • 2012-06-17
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多