Hallo Welt,
ich habe eine MDI-App. Bei den Childs habe ich die Eigenschaft Autoscroll auf true gesetzt.
Das funktoniert aber nur so lang, wie WindowState nicht maximiert ist.
Wenn ich den Child maximiere, sind die scrollbars weg, obwohl ich sie noch brauche, da nicht alle Steuerelemente zu sehen sind.
Wie bekomme ich Autoscroll bei maximiertem MDI-Child hin???
Vielen Dank schon mal im voraus.
pringels
Hallo pringels,
AutoScroll sollte auch bei maximierem Fenster funktionieren. Was passiert, wenn du das Fenster auf die gleiche Größe setzt, die ein maximierte Fenster hätte, aber ohne es zu maximieren?
herbivore
AutoScroll sollte auch bei maximierem Fenster funktionieren
das ist schon mal gut zu hören.
Also liegts wahrscheinlich an meinen Einstellungen.
Ich habe für mein Mdi-Child eine Mindestgröße von 500x400.
Im MDI-Parent mache ich
FormMdiChild f = new FormMdiChild();
f.AutoScroll = true;
f.MdiParent = this;
f.Dock = DockStyle.Fill;
// f.WindowState = FormWindowState.Maximized;
f.Show();
und die Scrollbars sind da (wenn ich mit dem MDI-Parent unter 500x400 komme).
Auch
f.Size = new Size(1000, 700);
bringt Scrollbars hervor.
Wenn ich aber
f.WindowState = FormWindowState.Maximized
mache oder auf den Maximieren-Button ( [] ) drücke, sind die Scrollbars weg.
An welchen Einstellungen könnte es denn noch hängen?
Hallo pringels,
also ich habe es ausprobiert. Bei mir geht es.
Hast du AutoScrollMinSize gesetzt? Solltest du eigentlich nicht. Wenn man zu allen Controls scrollen können will, muss man nur AutoScroll auf true setzen (vielleicht noch mit AutoScrollMargin einen kleinen Rand einstellen).
Wenn du AutoScrollMinSize auf 500x400 gesetzt hast, würde mich es wundern, wenn bei Size = new Size(1000, 700) noch Scrollbars zu sehen sind.
herbivore
ich habe Form.MinimumSize auf 500x400 gesetzt und nicht AutoScrollMinSize.
jetzt habe ich eine andere Ursache gefunden.
Das MDI-Child enthält ein Tab-Controll mit DockStyle.Fill.
Wenn ich den DockStyle.None nehme, funktioniert alles super.
Aber das TabControl soll sich mit der Form vergrößern und verkleinern bis auf die MinimumSize.
Wenn die MinSize unterschritten wird, sind ja Teile des TabControls nicht mehr sichtbar und AutoScroll müsste greifen???
Hallo pringels,
auf Form.Resize reagieren und entsprechend der Größe des Fensters DockStyle und AutoScroll wie gewünscht umstellen.
Wenn die MinSize unterschritten wird
MinimumSize kann nicht unterschritten werden. Wenn das Fenster kleiner werden soll, darf MinimumSize nicht gesetzt sein.
herbivore
Ich meinte damit, wenn MDI-Parent kleiner als die Min-Size des MDI-Childs wird...
Hallo pringels,
hatte ich nicht so verstanden. Abgesehen davon reden wird dann doch davon, dass der MdiParent Scrollbars braucht, oder? Wenn es dafür nicht reicht AutoScrollMinSize des MdiParent entsprechend der MinimumSize des MdiCleint zu setzen, wäre auch für diesen Fall das Grundprinzip meines Vorschlags verwendbar.
herbivore