2012-07-16 12 views
8

Chcę, aby moja aplikacja pobierała wartość składnika ComboBox, a następnie ustawiła wybraną przez użytkownika lub w jakiś sposób uzyskała poprzednio wybraną wartość.Uzyskiwanie poprzedniej wartości zestawu ComboBox

Chodzi o to, że w moim formularzu są cztery listy i ComboBox (który zawiera wszystkie wartości z list) i chcę ponownie zaludnić wartość ComboBox z powrotem na listę, z której został pobrany, a następnie usunąć nowo wybrany element z innej/tej samej listy.

Odpowiedz

16

Chcesz obsłużyć zdarzenie ComboBox.Enter. Następnie zapisz SelectedItem lub SelectedValue do zmiennej składowej. Kiedy tylko chcesz, możesz ponownie przypisać tę wartość do ComboBox.

Zarejestruj się na wydarzenie. Możesz to zrobić na jeden z dwóch sposobów:

Wykonaj to za pomocą projektanta. Wybierz swoje pole kombi. W "oknie Właściwości" kliknij ikonę błyskawicy, aby wyświetlić wszystkie jej zdarzenia. Następnie znajdź "Enter" i kliknij dwukrotnie w polu. Automatycznie wygeneruje dla ciebie funkcję zwrotną ("event eventler") i podłączy ją do zdarzenia.

enter image description here

enter image description here

Można programowo zrobić to samo. W konstruktorze podłączyć moduł obsługi zdarzeń z prawidłowym podpisem:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
     comboBox1.Enter += comboBox1_Enter; 
    } 

    private void comboBox1_Enter(object sender, EventArgs e) 
    { 
     m_cb1PrevVal = comboBox1.SelectedValue; 
    } 

    private void RestoreOldValue() 
    { 
     comboBox1.SelectedValue = m_cb1PrevVal; 
    } 
} 
+1

Och, w porządku, więc w końcu będę musiał nauczyć się zarządzać tymi ... – smsware

+0

Zarządzaj co dokładnie? –

+0

zdarzeń, nigdy ich nie użyłem naprawdę ... wydają się przerażające :) – smsware

Powiązane problemy