如何创建包含已填充列表的自定义控件

本文关键字:填充 列表 自定义控件 包含 何创建 创建 | 更新日期: 2023-09-27 18:08:19

如何正确创建包含填充列表的自定义控件?

例如:我需要一个包含产品列表的组合框控件,然后我将在其他项目中重用此控件。

我的代码是:

Public Class ProductCombo
    Inherits ComboBox
    Public Sub New()
        Me.Items.Add("Product 1")
        Me.Items.Add("Product 2")
    End Sub
End Class

并且它工作,但是当我运行项目时,每个项目都是重复的-这是因为列表被填充了两次。首先是在用户向窗体添加控件时,其次是在项目启动时设计器。

我已经找到了一个解决方案来防止在编辑模式下添加项目,但这不是我需要的。我想让它们存在于编辑模式中,这样它们就可以在此时进行编辑。

这个问题有解决办法吗?

如何创建包含已填充列表的自定义控件

  protected override void OnCreateControl()
  {
     base.OnCreateControl();
     if (Items.Count == 0)
     {
        Items.Add("Product 1");
        Items.Add("Product 2");
     }
  }