Visual Studio Designer自动将项添加到派生列表视图

时间:2012-09-28 05:17:59

标签: c# visual-studio listview derived-class

我正在创建多个表单,这些表单将使用相同的数据填充ListView。所以我想而不是在每个表单中单独填充数据,我将创建一个派生的ListView并将数据填充在构造函数中。

我遇到的问题是当我将控件添加到设计器的表单时,它将硬编码的ListViewItems添加到设计器文件中的ListView。因此,当应用程序实际运行时,它会创建重复的项目。

我知道为什么会这样,但我想找到一种方法来阻止它。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

经过一些研究后,我找到了解决问题的方法。

我需要的是一种只在“DesignMode”为假时执行我的代码的方法。

由于DesignMode在构造函数中始终为false,因此我对OnCreateControl事件进行了覆盖并将其放在那里:

protected override void OnCreateControl()
{
    if (!DesignMode)
    {
        // Populate data
    }
    base.OnCreateControl();
}