Laden...

ComboBox Eingabewert weiterbearbeiten

Erstellt von sharp.new vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.771 Views
S
sharp.new Themenstarter:in
100 Beiträge seit 2006
vor 17 Jahren
ComboBox Eingabewert weiterbearbeiten

Hallo zusammen,
ich sitze schon eine Weile an einem Problem,steige leider nicht hinter.
Ich habe eine DropDown ComboBox in der ich einen Wert eingeben,und auch bestehende Items auswählen kann. Nach einen KeyPress-Ereignis(Enter) möchte ich dann enteder dass neu reingeschriebene oder das ausgewählte weiterbearbeiten,in meinem Fall ein neuen Node in einem Treeview erzeugen. Die Variante mit der DropDown-Auswahl funktioniert einwandfrei,allerdings wenn ich einen neuen Eintrag reinschreibe und mit "Enter" bestätige, wird der Node erzeugt aber mit einem null Eintrag.

Ich lese hierzu die comboBox.Text Eigenschaft aus und übergebe diese direkt über eine Methode weiter an die Tree-Klasse.

Mir ist schon klar,dass auf die ComboBox.Item Referenz bezogen wird. Aber ich habe in beiden Fälen ein String innerhalb des Combobox.Text als Wert enthalten.

Wo liegt dass Problem??Leider sehe ich es nicht....

Grüsse

Gelöschter Account
vor 17 Jahren

hast du schon mal versucht im einzelschritt zu debuggen? dort kannst du sehen ob der string überhaupt rüberwandert bzw. warum das nicht angezeigt wird

S
sharp.new Themenstarter:in
100 Beiträge seit 2006
vor 17 Jahren

Hallo,
das ist ja das eigenartige in beiden Fällen wandert der String rüber in die Methode.
Die Übergabe sieht folgendermassen aus:

iniMatMerk.ME_NodeAnlegen("cbMerk", blnSet, base.getId(), this.cbMerkmal.Text);

Und die Methode die aufgerufen wird:

public void ME_NodeAnlegen(string vCBAct,bool blCB,string vMId,string vMEText)

Grüsse

871 Beiträge seit 2005
vor 17 Jahren

Hallo sharp.new,

ich hoffe dass ich deine Aufgabenstellung richtig verstanden habe:


        public Form1()
        {
            InitializeComponent();

            // Initializing Combo Box Items
            testComboBox.Items.Add( "Item 1" );
            testComboBox.Items.Add( "Item 2" );
            testComboBox.Items.Add( "Item 3" );
            testComboBox.Items.Add( "Item 4" );

            testComboBox.KeyPress += new KeyPressEventHandler( testComboBox_KeyPress );
            testComboBox.Text = "<Enter new Item or select>";
        }

        void testComboBox_KeyPress( object sender, KeyPressEventArgs e )
        {           
            if( e.KeyChar == ( char ) Keys.Enter )
            {
                testComboBox.Items.Add( testComboBox.Text );
            }
        }

War es das was du erreichen wolltest?

Grüsse, Egon

S
sharp.new Themenstarter:in
100 Beiträge seit 2006
vor 17 Jahren

Hallo egrath,
danke für den Snippet aber diese hatte ich schon ausprobiert aber ohne Erfolg. Ich möchte nicht die ComboBox füllen, sondern den Eingabebereich nutzten, sowohl für ne Auswahl aus der Combobox als auch manuell direkt eintragen.

im Anschluss soll dass ausgewählte oder eingetragene über ein KeyPress-Ereigniss an die Methode in Klasse "xy" weitergereicht werden. Das Problem ist ja,dass aus dem DropDown ausgewählte zur ANzeige gebracht werden(innerhalb des TreeViews),dass manuell eingetragene nicht...

Grüsse