Announcement

Collapse
No announcement yet.

ToolStripComboBox als ActiveControl aufrufen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ToolStripComboBox als ActiveControl aufrufen?

    Hallo,

    ich möchte durch Form.KeyPreview per Tastatur zu einer ToolStripComboBox tsBox wechseln und deren DropDown-Liste aufklappen.
    • this.ActiveControl = tsBox;
      Das klappt nicht, weil ToolStripItem (also auch die ComboBox) nicht von Control abgeleitet ist.
    • this.ActiveControl = tsBox.Owner;
      Das klappt zwar, aber damit ist der Focus noch nicht bei der gewünschten Box angelangt; erst recht klappt diese nicht auf.
    • tsBox.Select();
      Das wird kompiliert, hat aber keinerlei sichtbare Wirkung.
    • tsBox.PerformClick();
      Das ist ebenfalls ohne Wirkung (was aber auch daran liegen kann, dass bei Index=0 nichts gemacht werden soll).

    Welcher Weg funktioniert? Jürgen
    Zuletzt editiert von Jürgen Thomas; 01.04.2007, 15:37. Reason: Der letzte Beitrag liefert einen allgemein nützlichen Tipp; es handelt sich nicht mehr um eine spezielle Frage.

  • #2
    Hallo Jürgen,


    folgendes sollte funktionieren:

    tsBox.DroppedDown = true;
    tsBox.Focus();


    Mit freundlichen Grüßen,


    rednax

    Comment


    • #3
      Danke, rednax! Es sollte nicht nur funktionieren, sondern es klappt! In dieser Situation fehlte mir die richtige Kombination von Eigenschaft und Methode.

      Gruß Jürgen

      Comment


      • #4
        Es geht noch viel einfacher:
        Code:
        this.ActiveControl = tsBox.ComboBox;
        Begründung: Die ToolStripComboBox bietet einen public-Zugriff auf die "eingebettete" normale ComboBox; und der kann der Focus zugewiesen werden.

        Gleiches Verfahren ist auch in folgenden Fällen nützlich:
        • ToolStrip, MenuStrip, StatusStrip
        • die Elemente ComboBox, TextBox, ProgressBar (noch nicht getestet)
        • Eigenschaften, Methoden und Ereignisse, die es laut Doku für diese Elemente nicht gibt, z.B. ComboBox und DrawItem

        Vielleicht hilft dieser Tipp auch anderen Nutzern; ich füge deshalb für die erfolgreiche Suche einige weitere Stichworte an. Jürgen

        Stichworte: ToolStripTextBox ToolStripProgressBar DrawMode OwnerDrawFixed OwnerDrawVariable

        PS. Den Tipp von rednax in #2 behalte ich, weil damit die ComboBox sofort aufklappt; aber es gibt eben eine schöne umfassende Lösung.

        Comment

        Working...
        X