我的問題是「有沒有方法來綁定數據到comboBox沒有selectedItem和文本值被更改/填充?」 (我想下拉框中留空白)C#綁定到comboBox沒有selectedItem和文本填充
這是我做的一個例子:
Dictionary<int,string> test = new Dictionary<int,string>();
test.Add(1, "Company1");
test.Add(2, "Company2");
test.Add(3, "Company3");
test.Add(4, "Company4");
test.Add(5, "Company5");
test.Add(6, "Company6");
var list = test.Select(x => new { CompanyName = x.Value }).ToList();
comboBox1.DataSource = list;
comboBox1.DisplayMember = "CompanyName";
comboBox1.ValueMember = "CompanyName";
comboBox1.SelectedItem = null;
如果你運行這段代碼,它工作正常,因爲它加載如此之快,它看起來像組合框保持空白。
但是,如果單步執行代碼,將會看到在將DataSource分配給「list」時,SelectedItem和Text值會發生更改。
我的實際LINQ查詢比較大,因此加載速度較慢。在清除之前,我的comboBox會「閃爍」文本值,並且我想刪除這個醜陋的閃光。
我已經嘗試過在DataSource賦值之前和之後將SelectedItem和Text值設置爲null(或「」)的不同組合,但我無法使「flash」消失。
任何建議,非常感謝! =)
編輯:我也想補充一點,這只是發生在最初的形式加載...如果我改變的BindingSource,然後重新回到我原來的(再次運行完全相同的代碼),它不't「flash」...不知道這是否有幫助或有所作爲...
這對我來說有點不好,因爲這會在我的組合框中留下一個空白項目......但是,這是目前唯一的工作......所以除非有人提出更好的答案,否則我將不得不堅持這......謝謝! –