我试图遍历表单上的组件,但组件似乎是null。 那么,我如何在表单上循环组件(NOT CONTROLS)?
public partial class FormBase : Form
{
public FormBase()
{
InitializeComponent();
FixVisualDesignerIssues();
}
protected void FixVisualDesignerIssues()
{
// this.components is always NULL ????????
foreach (var comp in this.components.Components.OfType<BindingSource>())
{
((BindingSource)comp).do something, whatever
}
}
按要求编辑
public partial class FormBaseList : Test_app.FormBase
{
public FormBaseList()
{
InitializeComponent();
}
public partial class FormBaseDetail : Test_app.FormBase
{
public FormBaseDetail():base()
{
InitializeComponent();
gttDataGridView1.AutoGenerateColumns = false;
}
答案 0 :(得分:2)
如果您按以下方式创建BindingSource
,则只有它才会包含在组件容器中。
BindingSource bindingSource1 = new BindingSource(components);
如果您使用任何其他方式创建绑定源,components
容器中将没有任何内容。