PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?
Als de ListView onder de Label gedocked is, dan zal de ListView omlaag schuiven (en kleiner worden) zodra de Label langer wordt.
Verder kan ik je niet echt helpen omdat het vaak afhangt van hoe je UI er precies uitziet. Je kunt ook vaak een TableLayoutPanel of FlowLayoutPanel oid gebruiken om nog meer controle te krijgen.
Verder kan ik je niet echt helpen omdat het vaak afhangt van hoe je UI er precies uitziet. Je kunt ook vaak een TableLayoutPanel of FlowLayoutPanel oid gebruiken om nog meer controle te krijgen.
Ik denk voordat iemand je kan helpen we eerst een overzicht van je UI en eventueel document tree nodig hebben.
[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]
Overzicht van de GUI:Sebazzz schreef op maandag 17 mei 2010 @ 17:55:
Ik denk voordat iemand je kan helpen we eerst een overzicht van je UI en eventueel document tree nodig hebben.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
| // // lblName // this.lblName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.lblName.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lblName.Location = new System.Drawing.Point(3, 0); this.lblName.Name = "lblName"; this.lblName.Size = new System.Drawing.Size(346, 26); this.lblName.TabIndex = 0; this.lblName.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // lblArticleName // this.lblArticleName.AutoSize = true; this.lblArticleName.Location = new System.Drawing.Point(3, 26); this.lblArticleName.Name = "lblArticleName"; this.lblArticleName.Size = new System.Drawing.Size(39, 13); this.lblArticleName.TabIndex = 1; this.lblArticleName.Text = "Article:"; // // lblBarcodeName // this.lblBarcodeName.AutoSize = true; this.lblBarcodeName.Location = new System.Drawing.Point(3, 39); this.lblBarcodeName.Name = "lblBarcodeName"; this.lblBarcodeName.Size = new System.Drawing.Size(50, 13); this.lblBarcodeName.TabIndex = 2; this.lblBarcodeName.Text = "Barcode:"; // // lblBarcode // this.lblBarcode.AutoSize = true; this.lblBarcode.Location = new System.Drawing.Point(59, 26); this.lblBarcode.Name = "lblBarcode"; this.lblBarcode.Size = new System.Drawing.Size(10, 13); this.lblBarcode.TabIndex = 3; this.lblBarcode.Text = "."; // // lblArticle // this.lblArticle.AutoSize = true; this.lblArticle.Location = new System.Drawing.Point(59, 39); this.lblArticle.Name = "lblArticle"; this.lblArticle.Size = new System.Drawing.Size(10, 13); this.lblArticle.TabIndex = 4; this.lblArticle.Text = "."; // // lblDescription // this.lblDescription.AutoSize = true; this.lblDescription.Location = new System.Drawing.Point(3, 52); this.lblDescription.Name = "lblDescription"; this.lblDescription.Size = new System.Drawing.Size(316, 13); this.lblDescription.TabIndex = 7; this.lblDescription.Text = "1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14"; // // listView1 // this.listView1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.listView1.Location = new System.Drawing.Point(3, 68); this.listView1.Name = "listView1"; this.listView1.Size = new System.Drawing.Size(346, 130); this.listView1.TabIndex = 8; this.listView1.UseCompatibleStateImageBehavior = false; // // ViewProduct // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.lblDescription); this.Controls.Add(this.listView1); this.Controls.Add(this.lblArticle); this.Controls.Add(this.lblBarcodeName); this.Controls.Add(this.lblBarcode); this.Controls.Add(this.lblName); this.Controls.Add(this.lblArticleName); this.Name = "ViewProduct"; this.Size = new System.Drawing.Size(352, 201); |
Het idee is: Titel, daaronder artikelnummer + barcode, daaronder de beschrijving van het product en daaronder een listview met andere gekoppelde zaken (die vul ik later nog met data, maar dat maakt voor nu niks uit).
Ik wil dus dat de listview naar boven / naar beneden kan verspringen aan de hand van de grootte van de omschrijving label. De listview wordt nu sowieso rechts en links groter als het form ook groter wordt.
Uiteindelijk wil ik er nog de eigenschappen van een product bij hebben per categorie. Dat zou bijvoorbeeld een flowlayoutpanel worden waar de hoogte van onbekend is (breedte is sowieso 100% d.m.v. anchoring).
De hamvraag van dit topic is dus eigenlijk: Hoe kan ik binnen een form dingen zo opbouwen dat de grootte niet vooraf vastligt en dat de items die eronder staan naar beneden schuiven zodat de items erboven ook passend blijven?
En daarnaast: Stel ik zou de overgebleven zaken (in dit geval de listview, de eigenschappen van een product hebben uiteindelijk ook een vaste hoogte) alles willen laten opvullen, hoe kan ik dit dan doen? Dus de listview blijft de oorspronkelijke hoogte, tenzij het form zo groot is dat er een 'gat' ontstaat, de listview zou dan het form moeten opvullen.
PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?