DevTrain

Autor: Frank Eller

Angedockte Fenster innerhalb eines Fensters

Microsoft zeigt im Visual Studio ein interessantes und nützliches Design-Feature: angedockte Fenster. Sozusagen Fenster innerhalb eines Fensters. Wie dies auch in Ihren Anwendungen realisiert werden kann, können Sie hier nachlesen.

Im Grunde handelt es sich um eine für die Objektorientierung grundlegendes Verfahren. Das Formular wird einfach der Controls-Auflistung des Hauptformulars der Anwendung hinzugefügt, und schon kann es angezeigt werden. Über die Eigenschaft Dock wird eingestellt, wo das Fenster angedockt sein soll. Bei diesem Verfahren ergibt sich eine einzige kleine Schwierigkeit: Mit den Standardeinstellungen lässt sich ein Formular nicht einer Controls-Auflistung hinzufügen, weil es sich dabei um ein so genanntes Top-Level-Control handelt, also ein Steuerelement, das sich auf der höchstmöglichen Hierarchieebene befindet und demnach nicht einem anderen Steuerelement untergeordnet sein kann.

Die Lösung ist wie so oft sehr einfach: Vor dem Hinzufügen setzen Sie die Eigenschaft TopLevel auf false.

namespace DockedWindows {

  public partial class FrmMain : Form {

    public FrmMain() {
      InitializeComponent();
    }

    private FrmDock _dockingform = new FrmDock();

    private void FrmMain_Load( object sender, EventArgs e ) {

      // Jetzt das Fenster erzeugen und Andocken
      this._dockingform.TopLevel = false;
      this.Controls.Add( this._dockingform );
      this._dockingform.Dock = DockStyle.Left;
      this._dockingform.Show();
    }
  }
}


Erfasst am: 13.11.2005 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=964
© Copyright 2003 ppedv AG - http://www.ppedv.de