Announcement

Collapse
No announcement yet.

Fokus auf MyControl:Panel

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

  • Fokus auf MyControl:Panel

    Hallo Experten,

    ich habe "MyControl" von Panel abgeleitet und möchte eine gepunktete Linie drumherum zeichnen, wenn MyControl den Fokus hat.

    In einer Testapplikation wird es aber beim Drücken von Tab übergangen.

    Was muss ich in das Control einbauen, damit es den Fokus bekommen kann?

    Ciao,


    luker

  • #2
    Du mußt den Controlstyle deines Panels so setzen das dein Control den Focus erhalten kann.

    Für den Focus müsste ein
    Code:
    base.SetStyle(ControlStyles.Selectable, true);
    im Constructor helfen.

    Wenn nicht sieh dir mal die einzelnen Controlstyles in der MSDN an.

    Comment


    • #3
      Ich habe das erwähnte ControlStyle denen hinzugefügt, die ohnehin schon im Konstruktor stehen:[highlight=C#]public MyControl()
      {
      this.SetStyle(
      System.Windows.Forms.ControlStyles.Selectable |
      System.Windows.Forms.ControlStyles.UserPaint |
      System.Windows.Forms.ControlStyles.AllPaintingInWm Paint |
      System.Windows.Forms.ControlStyles.OptimizedDouble Buffer, true);

      this.Size = new System.Drawing.Size(100, 45);
      this.Text = this.Name;
      this.m_iBoxSize = this.Height;
      }[/highlight]Ich habe auch getestet, was geschieht, wenn ich die anderen ControlStyles nicht mit setze. Das alles brachte einen Teilerfolg.
      Auf Nachfrage mit GetStyles() geben Instanzen von MyControl an, selektierbar zu sein. Ich kann den Fokus auch per Code darauf setzen.

      Von der normalen Tab-Reihenfolge scheinen sie trotzdem ausgenommen.
      Was kann denn da noch fehlen?

      Comment


      • #4
        Controls haben noch ein TabStop Property vielleicht mußt du die auch explizit auf true setzen.

        Comment


        • #5
          Originally posted by Ralf Jansen View Post
          Controls haben noch ein TabStop Property vielleicht mußt du die auch explizit auf true setzen.
          Ja, so wie es aussieht, muss ich das. Und jetzt funktioniert auch alles wie gewünscht.

          Vielen Dank


          luker

          Comment

          Working...
          X