【发布时间】:2013-03-22 18:31:52
【问题描述】:
我正在使用包含字段、复选框、文本区域、网格等的 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 组件属性都已填充但不向用户显示。我是否必须为我的用户控件中的每个组件设置“启用”或“可见”属性?
有什么想法吗?
提前谢谢你。
【问题讨论】:
-
您是否将控件添加到任何地方的 UserControl 中?如果可以,您可以显示代码吗?
-
嗨@JaredPar 谢谢你的回答。我用 VS2008 Designer 创建了我的用户控件,就像一个表单(定位、调整大小等)。选项卡创建方法可以看here.
-
大家好,有什么想法吗?提前谢谢你。
-
除非我们看到这些控件是如何添加到容器控件中的,否则很难提供帮助。需要一些代码或 XAML,以便我们了解它们如何交互
-
只是分享一个想法,也许那些“未显示”的组件值来自运行时生成的组件,或者没关系?
标签: c# winforms tabs devexpress components