2012-04-03 14 views
9

Mam kontrolkę ComboBox z ustawieniami DropDownStyle na DropDownList. Po wybraniu elementu, w jaki sposób usunąć zaznaczenie z obiektu ComboBox, nie usuwając żadnych jego elementów?Wyczyść tekst zaznaczony ComboBox

bym normalnie używać coś takiego:

myComboBox.Text.Clear(); 

Ale nie mogę tego zrobić. Masz pomysł, jak to wyjaśnić?

+0

możliwy duplikat [Programatically Clear Se lektura w WPF ComboBox] (http://stackoverflow.com/questions/627304/programatically-clear-selection-in-wpf-combobox) – leetNightshade

+0

@leetNightshade to Windows Forms. – Alex78191

Odpowiedz

43

Można zmienić SelectedIndex właściwość:

comboBox1.SelectedIndex = -1; 
+1

Spróbuję. Indeks -1 będzie wartością 'null'? – phadaphunk

+0

usuwa zaznaczenie – ionden

+0

Wow działa jak urok! Wielkie dzięki. – phadaphunk

0

spróbuj podać rzeczywistą indeks elementu, który chcesz usunąć tekst z i ustaw jego Tekst równa „”.

myComboBox [this.SelectedIndex] .text = ""

lub

myComboBox.selectedIndex.Text = ""

nie pamiętam dokładnej składni, ale jest to coś wzdłuż tych linii .

7

Jedynym sposobem mogę zmusić go do pracy:

comboBox1.Text = ""; 

Z jakiegoś powodu rozwiązania ionden użytkownika nie działa dla mnie.

+1

Powodem jest, że prawdopodobnie wprowadziłeś łańcuchy znaków do twojego comboBox1, a nie do Elementów. – baron

+0

Prawidłowo. Dzięki! –

0

comboBox1.Text = "";

Jest to najlepszy i najłatwiejszy sposób na przywrócenie domyślnych ustawień pola kombi bez usuwania zawartości pola kombi.

0

napisać następujący kod:

comboBox1.Items[comboBox1.SelectedIndex] = string.Empty; 
1

wszystko zależy od konfiguracji. dla mnie działa

comboBox.SelectedIndex = -1; 

moja konfiguracja

DropDownStyle: DropDownList 

(tekst nie może być zmieniona przez użytkownika)

2
nameofcombobox.SelectedItem=-1; 
-1

Poniższy kod zadziała:

ComboBox1.SelectedIndex.Equals(String.Empty); 
Powiązane problemy