Announcement

Collapse
No announcement yet.

DockPanel Suite - docken per code

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

  • DockPanel Suite - docken per code

    Hallo Experten,

    kennt sich jemand mit der WeifenLuo DockPanel Suite aus?
    Ich habe natürlich zuerst im zuständigen Projektforum
    http://sourceforge.net/projects/dock...s/forum/402316
    gefragt, bis jetzt hat sich aber noch nichts getan.

    Und ich weiß nicht, ob das hier
    - in .Net,
    - in .Net\.Net Framework allgemein oder
    - in .Net\C#
    am Besten aufgehoben ist. Man möge es mir nachsehen und das Posting entsprechend verschieben.


    Ich möchte mehrere von DockContent abgeleitete Controls auf die Position "Document" platzieren. Mit der Maus funktioniert das auch, sie ordnen sich in Reiter nebeneinander. Aber im Code
    Code:
        protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
        {
            // Do base classes stuff
            base.OnClosing(e);
    
            // Don't really close
            e.Cancel = true;
    
            // Dock this window instead
            this.DockState = DockState.Document;
        }
    belegt jedes Fenster die rechte hälfte des vorigen. Mit der Maus kann man dieses Verhalten nachstellen, indem man die Dockposition unmittelbar rechts neben "Document" benutzt.

    Ich möchte, dass sie docken, falls der Benutzer eines der Controls schließen will. Daher dieser Ort für den Code.

    Wie kann ich einen DockContent per Code dazu bringen, als Tab neben bereits vorhandenen DockContents zu docken?

    Mit freundlichem Gruß,


    luker

  • #2
    Also wenn ich Forms (DockContent) neu erzeuge und sie anzeige dann mit DockState.Document anzeige, dann hab ich auch TabReiter:

    [highlight=c#]
    frmCableHarnessDiagram form = new frmCableHarnessDiagram(cableHarness);
    _view.ShowForm(form, DockState.Document);
    [/highlight]

    Du könntest auch mal versuchen die ShowForm Funktion zu verwenden anstatt den DockState zu setzen.

    Comment


    • #3
      Schätze, das ist das, was Du meinst, fanderlf:

      [highlight=c#] protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
      {
      // Do base classes stuff
      base.OnClosing(e);

      // Don't really close
      e.Cancel = true;

      // Dock this window instead
      //this.DockState = DockState.Document;
      this.Show(this.DockPanel, WeifenLuo.WinFormsUI.Docking.DockState.Document);
      }[/highlight]Und es funktioniert.

      Danke,


      luker

      Comment


      • #4
        Genau das meinte ich Sorry... ich hatte gar nicht realisiert, dass ShowForm was eigenes von mir war. Asche über mein Haupt!

        Comment

        Working...
        X