मैं क्लाइंट क्षेत्र को 3 पंक्तियों में विभाजित करने के लिए एक TableLayoutPanel का उपयोग कर रहा हूं (केवल 1 कॉलम है)। शीर्ष और निचली पंक्तियां निश्चित ऊंचाई के लिए डिज़ाइन की गई हैं; उनमें एक शीर्षलेख और एक पाद लेख होगा जिसमें प्रारंभ में प्रत्येक में एक बाल लेबल नियंत्रण होता है जिसमें स्थैतिक पाठ होता है (केवल आरंभ करने के लिए)। शेष क्षेत्र को भरने के लिए मध्य पंक्ति को गतिशील रूप से आकार दिया जाना चाहिए। अंततः इस मध्य फलक में एक सूचीदृश्य होगा।TableLayoutPanel: सामग्री पंक्तियों को सही ढंग से आकार में नहीं मिल सकता
private void AddHeaderRow()
{
const int headerHeight = 30;
LayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, headerHeight));
Label label = new Label();
label.BackColor = Color.AliceBlue;
label.BorderStyle = BorderStyle.None;
label.ForeColor = Color.LightGray;
label.TextAlign = ContentAlignment.MiddleRight;
label.Text = "Header Banner";
label.Dock = DockStyle.Fill;
float size = label.Font.SizeInPoints;
label.Font = new Font(label.Font.Name, size * 2);
const int column = 0, row = 0;
LayoutPanel.Controls.Add(label, column, row);
}
private void AddBodyRow()
{
LayoutPanel.RowStyles.Add(new RowStyle(SizeType.AutoSize));
Label label = new Label();
label.BorderStyle = BorderStyle.FixedSingle;
label.ForeColor = Color.LightGray;
label.TextAlign = ContentAlignment.MiddleCenter;
label.Text = "Content Under construction ...";
label.Dock = DockStyle.Fill;
float size = label.Font.SizeInPoints;
label.Font = new Font(label.Font.Name, size * 2);
const int column = 0, row = 1;
LayoutPanel.Controls.Add(label, column, row);
}
private void AddFooterRoow()
{
const int footerHeight = 30;
LayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, footerHeight));
Label label = new Label();
label.BackColor = Color.AliceBlue;
label.BorderStyle = BorderStyle.None;
label.ForeColor = Color.LightGray;
label.TextAlign = ContentAlignment.MiddleRight;
label.Text = "Footer Banner";
label.Dock = DockStyle.Fill;
float size = label.Font.SizeInPoints;
label.Font = new Font(label.Font.Name, size * 2);
const int column = 0, row = 2;
LayoutPanel.Controls.Add(label, column, row);
}
:
public class ExplorerTableLayoutPanelManager
{
public ExplorerTableLayoutPanelManager(ExplorerTableLayoutPanel panel)
{
LayoutPanel = panel;
}
3 तरीकों कि तालिका लेआउट में 3 पंक्तियों में से प्रत्येक बनाने हैं: मैं एक प्रबंधक वर्ग है कि एक तर्क पैनल (ExplorerTableLayoutPanel) वस्तु प्रबंधित किया जा रहा के रूप में लगता है समस्या जो मैं देख रहा हूं वह यह है कि आखिरी पंक्ति निश्चित पंक्ति ऊंचाई ले रही है जिसे मैंने 30 के रूप में अनुरोध किया है। यह हिस्सा सही है। हालांकि, पहली और दूसरी पंक्तियां शेष जगह को उनके बीच समान रूप से विभाजित कर रही हैं जो कि मैं नहीं चाहता हूं। जैसा कि आप देख सकते हैं, मैंने पंक्तियों की ऊंचाई को पहली पंक्ति के लिए 30 पंक्तियों में स्पष्ट रूप से सेट किया है जैसा कि अंतिम पंक्ति के लिए किया गया है, लेकिन यह काम नहीं करता है। दूसरी पंक्ति (मध्य) में इसका RowStyle आकार आकारटाइप पर सेट है। ऑटोसाइज जिसे मैं शेष स्थान का उपयोग करने के लिए था, इसलिए आकार को स्पष्ट रूप से सेट न करें। मैं गलत हो सकता हूं लेकिन मुझे यकीन नहीं है।
यह एक मेज के साथ आप का अनुकरण कर रहे हैं "डॉक" लेआउट संपत्ति तेजी। –