0

我正在使用包含字段、复选框、文本区域、网格等的 UserControl 制作这样一个选项卡式“产品版本控制”。在运行时,当我添加一个新选项卡(就像我们在浏览器上一样)时,我会实例化一个新的 UserControl(其中包含所有组件)。问题是:我可以获取所有内部组件值并填充一个对象以保持不变,但不能相反。我可以从 Object 中获取所有值并将它们设置为内部组件的 EditValue(或 Text/Value 属性)属性,但它们不会显示给用户。

考虑:

  • 我所有的内部组件都有公共的 set/get 方法,如下所示

    public class TabVersion : UserControl
    {
        ...
        public DevExpress.XtraEditors.SpinEdit seRevision
        {
            get
            {
                return _seRevision;
            }
            set
            {
                _seRevision = value;
            }
        }
        ...
    }

  • 在 TabVersion 类中,我有一个“填充”方法,它接收一个“版本”对象并设置所有内部组件的“EditValue”属性,如下所示:

    public class TabVersion : UserControl
    {
        ...
        public void FillTab(Sheet sheet)
        {
            ...
            this.seRevision.EditValue = sheet.NumRevision;
            ...
        }
        ...
    }

  • 在运行时,所有 EditValue 组件属性都已填充但不向用户显示。我是否必须为我的用户控件中的每个组件设置“启用”或“可见”属性?

有任何想法吗?

先感谢您。

4

1 回答 1

1

嗯......在没有目标的情况下到处搜索之后,我编写了一个“Fill”方法来填充我的用户控件中的所有 DevExpress 控件,并在父窗体的“Shown”事件中调用它。我认为这是 DevExpress 的一个错误,因为当我给它们各自的值时,所有 Windows 默认组件都可以正常工作。就是这样。

于 2013-04-27T20:50:50.673 回答