deaktivierte ComboBox markiert Text, obwohl nicht selektiert

  • VB.NET
  • .NET (FX) 4.0

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von tragl.

    deaktivierte ComboBox markiert Text, obwohl nicht selektiert

    Hallo zusammen.

    Was kann ich anstellen, damit die Markierung (im Beispiel ComboBox Mitarbeiter) verschwindet?
    Beim Öffnen des Dialogs wird die Textbox Fahrzeug selektiert und markiert - das ist auch richtig so. Die ComboBox Mitarbeiter
    ist disabled und wird nur zur Anzeige benutzt - den Text hinter der Markierung kann man kaum bis gar nicht erkennen.

    LG



    EDIT: ich hab da eine Idee - kann sein, dass ich da mit "SelectedIndex" arbeite.. schau' ich mir nachher mal an.
    EDIT2: Ne, ist nicht so. Folgender Code wird beim Öffnen des Dialogs ausgeführt. Nix davon berührt die ComboBox, die erhält ihren Wert aus dem DataBinding.

    VB.NET-Quellcode

    1. Private Sub frm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    2. Me.KeyPreview = True
    3. RegisterDateInput(dtbDatum)
    4. RegisterDecimalInput(dctbArbeitsBeginn, dctbArbeitsEnde, dctbFahrerHC, dctbFahrerReha, dctbLagerHC,
    5. dctbLagerReha, dctbPause, dctbReinigungRehamittel, dctbSonstiges, dctbWerkstatt)
    6. RegisterNumericInput(ntbAbholerReha, ntbEndKM, ntbKundenHC, ntbLieferungReha, ntbStartKM, ntbStoppsHC,
    7. ntbStoppsReha)
    8. RegisterCheckArbeitszeit(dctbArbeitsBeginn, dctbArbeitsEnde)
    9. RegisterCheckKM(ntbStartKM, ntbEndKM)
    10. ControlStyling.StyleCmb(Me)
    11. accessSettings()
    12. cmbFahrzeug.SelectedValue = bsDatenabfrageDetail.At(Of DatenabfrageRow).Fahrzeug
    13. cmbFahrzeug.Select()
    14. cmbEinsatzort.SelectedValue = bsDatenabfrageDetail.At(Of DatenabfrageRow).Einsatzort
    15. Me.RegisterDlgKeyHandler
    16. StundenRechnung()
    17. End Sub
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „tragl“ ()

    @tragl
    Füge das mal, nachdem der Text in die ComboBox geschrieben wird, ein.



    VB.NET-Quellcode

    1. ComboBox1.SelectionStart = 0
    2. ComboBox1.SelectionLength = 0

    Musst halt aber nur noch den Namen deiner ComboBox hinzufügen.

    Wenn das Problem noch bestehen sollte, wird der Text dann wahrscheinlich nach der SelectionLength markiert, du musst bissl rumprobieren.

    Hier wird angegeben, wie lang die Textmarkierung maximal sein darf, also 0.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Jimpo“ ()

    Jimpo schrieb:

    Füge das mal, nachdem der Text in die ComboBox geschrieben wird, ein.


    bringt leider keine Änderung. Hab's mal getestet: Wenn ich die Box auf Enabled = True stelle dann wird nix markiert. Macht der nur bei Enabled = False
    Ich bräuchte eigentlich auch keine ComboBox, mir würde eine Textbox ausreichen - die könnte man auf ReadOnly stellen.

    Problem ist: In dem Datensatz gibt's nur eine MitarbeiterID - ich brauche aber den Mitarbeiternamen, deshalb arbeite ich mit der ComboBox da kann ich mit DisplayMember und ValueMember arbeiten...
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup:
    @tragl
    Wenn du die Texteigenschaft nicht ändern möchtest, was ich annehme, dann stelle die Eigenschaft DropDownStyle auf DropDownList ein
    Problem ist: In dem Datensatz gibt's nur eine MitarbeiterID - ich brauche aber den Mitarbeiternamen, deshalb arbeite ich mit der ComboBox da kann ich mit DisplayMember und ValueMember arbeiten...
    Wie sieht dein Datenmodel aus?
    Mann kann sich da auch mit der Expression-Eigenschaft einer eigenen Column der Datentabelle im Dataset behelfen und diese dann auf ein Label binden...
    Da brauchst du nur die richtige Formel dazu einfügen...

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „VB1963“ ()