开发者

Multiple TableLayoutPanels for complex table

I'm trying to build a table layout similar to this

 ---------------------------------------------------------------------
|   01.01.2010 01:00   |   01.01.2010 01:00   |   01.01.2010 01:00    |
 ---------------------------------------------------------------------
|   Some text       |  More开发者_如何学C            | And         | Final text     |
|   (Multilined)    |  multilined      | more text   | Multiple lines,|
|                   |  text            |             | too            |
 ---------------------------------------------------------------------

It has to be created dynamically, so I can't create it in the Form Designer...

The first approach was as followed

// The "outer" table - two rows (the dates and the texts)
TableLayoutPanel table = new TableLayoutPanel();
table.ColumnCount = 1;
table.RowCount = 2;

// Date table - three columns
TableLayoutPanel dateTable = new TableLayoutPanel();
dateTable.ColumnCount = 3;
dateTable.RowCount = 1;

// Text table - four columns
TableLayoutPanel textTable = new TableLayoutPanel();
textTable.ColumnCount = 4;
textTable.RowCount = 1;

// Add it all up and save it to the panel in the winform
table.Controls.Add(dateTable);
table.Controls.Add(textTable);
SomeUIPanel.Controls.Add(table);

It seems to work, as I get no exceptions - but it looks horrible. The width of the table is too short, the text columns are not added in the way I described above and I also have the feeling, that the table is too short in height as some texts are cut off at the bottom.

Any better approaches to this? Or helpful tutorials regarding these matters?


I think you have the right structure. What I don't see is any Width/Height/Docking/Anchoring.

I would add:

table.Dock = DockStyle.Fill;
dateTable.Dock = DockStyle.Top; 
textTable.Dock = DockStyle.Fill;
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜