使用DataSource为ToolStripComboBox设置空的“Start-Text”

时间:2013-12-20 13:04:02

标签: c# winforms .net-3.5 toolstripcombobox

我有一个绑定到List<string>的ToolStripComboBox。我想在初始化后将可见文本设置为String.Empty

问题是,无论我做什么,初始化控件后的文本始终是我的List 的第一个条目(预期的内容,但我无法清除此预选文本)

这是我的相关代码:

    public frmPricelist(Pricelist pricelist)
    {
        _pricelist = pricelist;

        InitializeComponent();
        Init();
    }

    private void Init()
    {
        cmbHersteller.Items.Clear();
        cmbHersteller.ComboBox.DataSource = _pricelist.GetHersteller();

        Application.DoEvents(); // Inserted for testing purposes

        cmbHersteller.ComboBox.SelectedText = String.Empty; // does not change the value
        cmbHersteller.ComboBox.Text         = String.Empty; // does not change the value            
    }

也许我想念树林,但我根本无法让它发挥作用:)。

1 个答案:

答案 0 :(得分:1)

在我看来,最好的方法是实际添加一个空项目。请考虑以下事项:

private void Init()
{
    cmbHersteller.Items.Clear();

    var list = _pricelist.GetHersteller();
    list.Insert(0, "");
    cmbHersteller.ComboBox.DataSource = list;

    cmbHersteller.ComboBox.SelectedIndex = 0;
}