Verankert Kontrollen nicht resize, wenn das Fenster in der Größe geändert wird (56k beware)

Dieser ist wirklich munter meinen Hintern. Ich habe ein Formular erzeugt und im Besitz des Haupt-Formulars von der Anwendung verwendet für die Suche von Datensätzen. Die form ist festgelegt, die in einem angedockten TableLayoutPanel, mit einer Kombination von Absoluten und Prozentualen Größe von Zeilen/Spalten, so dass meine Etiketten bleiben die gleiche Größe, während die Eingabe der Daten und Ergebnisse kontrolliert wachsen. Wir reden hier über 20 steuert alles gesagt.

Das problem ist, dass, obwohl das TableLayoutPanel ist, füllen Sie angedockt, und alle untergeordneten Steuerelemente werden auch Füll-angedockt, nichts ist das ändern der Größe in das Formular ein, wenn ich schnappe mir den Fensterrand und ziehen. Alles passt einfach gut in der designer, aber nicht in der eigentlichen app.

Ich habe mein Google-fu, und fand diese Frage ALSO die wies mich auf dieser MSKB-Artikel. Ich erstellt eine abgeleitete FlowLayoutPanel und eine abgeleitete TableLayoutPanel mit dem Gewinde Anrufe und setzen Sie Sie in, aber es funktioniert immer noch nicht. Dies ist die EINZIGE form, auf der dieses geschieht, und eine andere form hat einige ziemlich tief verschachteln wie gut (er verwendet ein TabControl und TableLayoutPanel zur Gestaltung der Dateneingabe-Steuerelemente, aber keine RBs).

Sachdienliche info:

  • Es gibt keine MaxSize-Eigenschaften festgelegt werden.
  • Nichts ist verankert in dieser form, außer für die Standard-Links-Oben; so ziemlich alles ist, füllen Sie angedockt zu seinem container. Allerdings, ein Kind, das Benutzer-Steuerelement mit den Suchergebnissen Tabelle angelegt ist intern mit Ankern; dies war nicht ein problem in die andere form, in der ich diese Steuerelemente verwenden, wo habe ich Lücken füllen angedockt Ihnen zu SplitPanels (geschachtelte zwei Tiefe, nicht weniger).
  • RadioButtons und Labels setzen auf AutoSize, aber sonst ist nichts. Dies scheint das Standardverhalten für diese Kontrollen, obwohl die Werte sind Fett im Designer, und passt das setup von windows, dass die Größe richtig.
  • Resize-Ereignisse ausgelöst werden, für die form, aber nicht der TLP.
  • Das Verhalten ändert sich nicht, wenn der TLP verankert ist, die Fenster nicht Angedockt wird (es sind nie beide auf einmal).

Ich bin dabei mir die Haare aus hier. Hilfe!!!

Bearbeiten: Hier sind einige der angeforderten Bilder zeigen das layout-Verhalten der Entwickler und in-app:

Verankert Kontrollen nicht resize, wenn das Fenster in der Größe geändert wird (56k beware)
Verankert Kontrollen nicht resize, wenn das Fenster in der Größe geändert wird (56k beware)
Verankert Kontrollen nicht resize, wenn das Fenster in der Größe geändert wird (56k beware)
Verankert Kontrollen nicht resize, wenn das Fenster in der Größe geändert wird (56k beware)

Steuerelemente, die beginnen mit "Verschachtelten" ergeben sich unmittelbar aus dem Einbau-panel-Steuerelemente, und deren einzige änderung ist eine überschreibung von OnSizeChanged() aufrufen, um die Basis-Methode asynchron (der workaround aus dem KB-Artikel). Es funktioniert nicht mit dem eingebauten Platten entweder, wie ich schon sagte. Wie Sie sehen können aus die letzten zwei Fenster, die mainLayout TLP einfach nicht wachsen, obwohl es ist angedockt an das Fenster im designer.

  • hast du Bild oder ein Bild von der 'Dokumentgliederung' anzeigen
  • Was meinst du, "document outline-view"? Ich werde Sie printscreens von der form, in der Design-Ansicht und in der app.
  • In der design-Ansicht, Ansicht->Andere Windows->Document Outline (Strg+W, U)
  • Sweet, wusste nicht, dass Sie existiert.
InformationsquelleAutor KeithS | 2010-11-12
Schreibe einen Kommentar