Frage

Bei Verwendung eines übergeordneten MDI Erstellen der gesamte „Innenseite“ der Form der MDI-Region durchgeführt wird.

Wenn Sie eine Menustrip an den übergeordneten MDI hinzufügen, wird die MDI Region skaliert ein wenig nach unten, um Platz für den Menustrip.

Aber wenn Sie ein Panel auf der Oberseite des übergeordneten MDI hinzufügen, ist die gesamte Innenseite noch die MDI-Region. Was bedeutet, dass Sie MDI Kinder hinter der Platte bewegen können, und ihre Titelzeile verstecken. Wenn Sie MDI Kinder hinter einem Menustrip bewegen, erscheinen Bildlaufleisten, und Sie können die Titelzeile für den Zugriff höher blättern. Aber die Scrollbalken nicht angezeigt, wenn Sie ein Panel verwenden anstelle eines Menustrip. Da der MDI Bereich nicht über das Panel nicht kennt, nehme ich an.

Wie kann ich die MDI Region skalieren unter einem bestimmten Wert Y zu beginnen?

War es hilfreich?

Lösung

Nun, die kurze davon ist, dass Sie nicht die übergeordnete MDI / Container Fenster in .Net ändern können. Das Fenster ist immer noch da und man kann es mit Win32-APIs finden, wenn Sie wirklich wünschen.

Allerdings, was Sie als Ihr Ziel zu beschreiben, ist machbar. Da es keinen Code ist, kann ich nicht sagen, was Sie tun falsch, aber die folgenden veranschaulicht diese Arbeiten:

public class Form1 : Form
{
    static void Main(string[] args) { Application.Run(new Form1()); }

    public Form1()
    {
        this.IsMdiContainer = true;
        Panel test = new Panel();
        test.Dock = DockStyle.Top;
        test.Height = 100;
        this.Controls.Add(test);

        Form child = new Form();
        child.MdiParent = this;
        child.Text = "Child";
        child.Show();
    }
}

Andere Tipps

Wenn csharptest.net richtig ist, und man kann die MDI Region nicht ändern, ich habe zwei Wege gefunden, es zu tun:

  1. Fügen Sie mehr Objekte Menustrip (jede dieser Bewegungen des MDI-Bereich 24 Pixel auf dem übergeordnete Formular senken).
  2. Verwenden Sie das Location Ereignis der MDI Kinder und manuell überprüfen, ob ihre Y-Wert größer ist als die Grenze Sie wollen sie unten halten.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top