tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
523
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    preetzer preetzer ist offline Grünschnabel
    Registriert seit
    Jun 2005
    Beiträge
    4
    Hallo,
    ich habe derzeit ein Problem, das ich mir nicht erklären kann.
    Ich erzeuge eine Combobox außerhalb jeder Funktion, füge Werte zu dieser Combobox hinzu und will den ausgewählten Wert mit Hilfe einer eventhandlenden Funktion auslesen. Hier habe ich nun folgendes Problem: Rufe ich vor dem Auslesen des Wertes der Combobox eine Messagebox auf, funktioniert das Auslesen, lasse ich die Messagebox dagegen weg, erhalte ich beim Auslesen einen leeren String.

    Zur Verdeutlichung:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    Friend WithEvents combo1 As New System.Windows.Forms.ComboBox
    Private Sub InitializeComponent()
    .
    .
    .
    For i = 1 To n
         combo1.Items.Add(col.Item(i))
    Next
    .
    .
    .
    End Sub
    Private Sub combo1_change(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles combo1.SelectedValueChanged
            MessageBox.Show("UM DIESE MESSAGEBOX GEHT ES") 
            ShowKataloge(Me.combo1.SelectedText) 'Dieser Parameter ist entweder leer oder enthält den ausgewählten String, je nachdem, ob der vorherige Aufruf stattfindet.
    End Sub

    Kann mir vielleicht jemand erklären, woran das liegt, bzw. was ich machen muss, um das Aufrufen einer Messagebox vermeiden zu können?
    Danke im Voraus!
     

  2. #2
    Irdi Irdi ist offline Mitglied
    Registriert seit
    Mar 2005
    Beiträge
    21
    Hallo,

    um ein selektierten Satz der Combobox zu ermitteln benutze ich ein anderes Befehl, der mich noch nie hängengelassen hat.


    "Auswahl = Me.ComboBox1.Items.Item(Me.ComboBox1.SelectedIndex)"

    versuche einfach, vielleicht wird er dir helfen

    Gruß Irdi.
     

  3. #3
    Avatar von JensG
    JensG JensG ist offline Mitglied Platin
    Registriert seit
    Jun 2004
    Ort
    Gera (Thüringen)
    Beiträge
    517
    Hallo,

    warum nicht einfach so

    Code :
    1
    2
    3
    4
    5
    6
    
     
    Private Sub combo1_change(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles combo1.SelectedValueChanged
     
            ShowKataloge(Me.combo1.Text) 
     
    End Sub

    Gruß Jens
     

  4. #4
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    combo1.Text ist sehr gefährlich .. vor allem, wenn du ein Objekt in der ComboBox unterbringst, welches die ToString()-Methode überschreibt, um einen Text in der ComboBox anzeigen zu lassen.

    Daher würde ich von combo1.Text abraten, auch wenn es vielleicht im gegebenen Falls als unwichtig erscheint - später fällt einem das auf den Kopf.
     

  5. #5
    preetzer preetzer ist offline Grünschnabel
    Registriert seit
    Jun 2005
    Beiträge
    4
    Hallo, war ein paar Tage nicht hier. Danke für Eure Antworten.

    Ich habe es mit SelectedIndex probiert. Diese Lösung funktioniert sehr gut, auch wenn ich immer noch nicht verstehe, warum der erste Weg nicht funktioniert hat.

    Vielen Dank nochmal für Eure Mühe

    Grüße Preetzer
     

Ähnliche Themen

  1. Problem mit werteübergabe
    Von thobi85 im Forum PHP
    Antworten: 3
    Letzter Beitrag: 16.06.08, 11:13
  2. [C] Werteübergabe
    Von Pherseus im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 10.12.06, 15:30
  3. Problem mit ComboBox
    Von FuMe im Forum .NET Windows Forms
    Antworten: 10
    Letzter Beitrag: 08.09.05, 08:39
  4. Problem mit combobox
    Von Ahnungsloser8000 im Forum .NET Archiv
    Antworten: 3
    Letzter Beitrag: 15.03.05, 10:11
  5. Antworten: 11
    Letzter Beitrag: 03.06.04, 13:10