DevTrain .NET Developers Home. Das Community Portal für ASP.NET, Visual Basic, C#
 
  Login Status: Hallo   Anmelden  Suche:  
Navigationslinks überspringen
Startseite
Artikel
Blogs
Foren
ClubClub erweitern

 
Ihre Optionen
Save
Mail
Print
Rate
 
Advertising
  DevTrain Camp – Schneller zum .NET 4.0 Developer!

 
Navigationslinks überspringen
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();
    }
  }
}


Diskutieren Sie in den Foren

DevTrain Camp – Schneller zum .NET 4.0 Developer!