C# 找不到填充UserControl C内部控件的方法#
我正在制作这样一个选项卡式的“产品版本控制”,使用一个UserControl,它包含字段、复选框、文本区域、网格等等。在运行时,当我添加一个新选项卡(就像我们在浏览器上所做的那样)时,我会实例化一个新的UserControl(其中包含所有组件)。问题是:我可以获取所有内部组件值并填充一个对象以使其持久化,但不是相反。我可以从对象中获取所有值,并将它们设置为内部组件的EditValue(或文本/值属性)属性,但它们不会显示给用户 考虑:C# 找不到填充UserControl C内部控件的方法#,c#,winforms,tabs,devexpress,components,C#,Winforms,Tabs,Devexpress,Components,我正在制作这样一个选项卡式的“产品版本控制”,使用一个UserControl,它包含字段、复选框、文本区域、网格等等。在运行时,当我添加一个新选项卡(就像我们在浏览器上所做的那样)时,我会实例化一个新的UserControl(其中包含所有组件)。问题是:我可以获取所有内部组件值并填充一个对象以使其持久化,但不是相反。我可以从对象中获取所有值,并将它们设置为内部组件的EditValue(或文本/值属性)属性,但它们不会显示给用户 考虑: 我的所有内部组件都有如下所示的公共set/get方法
- 我的所有内部组件都有如下所示的公共set/get方法
- 在TabVersion类中,我有一个“fill”方法,它接收一个“Version”对象并设置所有内部组件的“EditValue”属性,如下所示:
- 在运行时,将填充所有EditValue组件属性,但不会向用户显示。我是否必须为usercontrol中的每个组件设置“Enabled”或“Visible”属性
提前谢谢你。好吧。。。在无目标地到处搜索之后,我编写了一个“Fill”方法来填充用户控件中的所有DevExpress控件,并在父窗体的“show”事件中调用它。我认为这是DevExpress的一个bug,因为当我给它们各自的值时,所有Windows默认组件都可以正常工作。就是这样。您是否在任何地方将控件添加到UserControl中?如果是的话,你能出示密码吗?嗨@JaredPar谢谢你的回答。我使用VS2008 Designer创建了usercontrol,就像表单一样(定位、大小调整等)。你可以看到制表符的创建方法。嘿,伙计们,有什么想法吗?提前谢谢。除非我们看到这些控件是如何添加到容器控件中的,否则很难提供帮助。需要一些代码或XAML,以便我们能够理解这些组件是如何交互的,只是为了分享一个想法,也许那些“未显示”的组件值来自运行时生成的组件,或者这无关紧要?
public class TabVersion : UserControl
{
...
public DevExpress.XtraEditors.SpinEdit seRevision
{
get
{
return _seRevision;
}
set
{
_seRevision = value;
}
}
...
}
public class TabVersion : UserControl
{
...
public void FillTab(Sheet sheet)
{
...
this.seRevision.EditValue = sheet.NumRevision;
...
}
...
}