[C#/WinForms] AutoSize geeft problemen

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • ThaAresX
  • Registratie: September 2010
  • Laatst online: 09-10 08:52
Ik heb een TableLayoutPanel die dynamisch gevuld wordt gedurende het programma. In de designer heb ik alleen de header (bovenste rij) staan. Maar voor het gemak heb ik de autosize op true gezet. Het maakt niet uit of ik de RowHeight in de designer op 25 bijvoorbeeld zet, tijdens RunTime wordt de hoogte 40+ gemaakt. Het maakt niet uit of ik de autosize in de Form OnLoad op true zet of in de designer. Weet iemand hoe ik dit kan oplossen? Afgezien van de hoogte iedere keer met een x waarde ophogen.

Edit: kan een mod dit naar een vraag omzetten? Bijvoorbaat dank.

[ Voor 6% gewijzigd door ThaAresX op 14-01-2016 15:45 ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • tiriaq
  • Registratie: Juli 2013
  • Laatst online: 11:51
Zeg dan gewoon niks...

[ Voor 81% gewijzigd door Creepy op 14-01-2016 16:44 ]


Acties:
  • 0 Henk 'm!

  • Douweegbertje
  • Registratie: Mei 2008
  • Laatst online: 11-10 16:28

Douweegbertje

Wat kinderachtig.. godverdomme

Wat is je AutoSizeMode en kun je niet even alles laten zien wat je mee geeft aan opties?

Overigens kun je wellicht alvast hier wat inlezen:

http://stackoverflow.com/...ight-property-not-working
en
MSDN: AutoSize Behavior in the TableLayoutPanel Control

Acties:
  • 0 Henk 'm!

  • ThaAresX
  • Registratie: September 2010
  • Laatst online: 09-10 08:52
Douweegbertje schreef op donderdag 14 januari 2016 @ 17:58:
Wat is je AutoSizeMode en kun je niet even alles laten zien wat je mee geeft aan opties?

Overigens kun je wellicht alvast hier wat inlezen:

http://stackoverflow.com/...ight-property-not-working
en
MSDN: AutoSize Behavior in the TableLayoutPanel Control
Ik zal het even in code neerzetten, ook al heb ik het in de designer gedaan.

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
this.DefectOverview.AutoSize = true;
            this.tablelayoutpanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
            this.tablelayoutpanel1.ColumnCount = 3;
            this.tablelayoutpanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 120F));
            this.tablelayoutpanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 120F));
            this.tablelayoutpanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 93F));
            this.tablelayoutpanel1.Controls.Add(this.label24, 1, 0);
            this.tablelayoutpanel1.Controls.Add(this.label23, 2, 0);
            this.tablelayoutpanel1.Controls.Add(this.label22, 0, 0);
            this.tablelayoutpanel1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            this.tablelayoutpanel1.Location = new System.Drawing.Point(6, 55);
            this.tablelayoutpanel1.MaximumSize = new System.Drawing.Size(400, 500);
            this.tablelayoutpanel1.Name = "DefectOverview";
            this.tablelayoutpanel1.RowCount = 1;
            this.tablelayoutpanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F));
            this.tablelayoutpanel1.Size = new System.Drawing.Size(337, 26);
            this.tablelayoutpanel1.TabIndex = 6;
            this.DefectOverview.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowOnly;


Wat er dus gebeurd, de RowHeight van de enige row wordt aangepast waardoor ook de size word aangepast.

Acties:
  • +1 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Ik heb even in te titel erbij gezet dat het om WinForms gaat, dat is wel fijn om te weten :)

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”