CheckedListBox docking not working properly
Asked Answered
M

1

6

I created a user control for Windows forms application. All it has is a TableLayoutPanel with four cells. Cell[0,0] and cell[0,1] have labels. Cell[1,0] has a treeview and cell[1,1] has CheckedListBox.

For all four controls, I have set docking to Fill. That freaking CheckedListBox appears smaller than TreeView. Is there any way to get proper docking for the controls?

BTW, I am using .Net 3.5 and VS 2010.

Following is the designer file code for the control:

namespace UserControls
{
    partial class LinkedContent
    {
        /// <summary> 
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary> 
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Component Designer generated code

        /// <summary> 
        /// Required method for Designer support - do not modify 
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
            this.lblContentGroups = new System.Windows.Forms.Label();
            this.lblModules = new System.Windows.Forms.Label();
            this.tvContent = new System.Windows.Forms.TreeView();
            this.chkListBoxModules = new System.Windows.Forms.CheckedListBox();
            this.tableLayoutPanel1.SuspendLayout();
            this.SuspendLayout();
            // 
            // tableLayoutPanel1
            // 
            this.tableLayoutPanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
            this.tableLayoutPanel1.ColumnCount = 2;
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
            this.tableLayoutPanel1.Controls.Add(this.lblContentGroups, 0, 0);
            this.tableLayoutPanel1.Controls.Add(this.lblModules, 1, 0);
            this.tableLayoutPanel1.Controls.Add(this.tvContent, 0, 1);
            this.tableLayoutPanel1.Controls.Add(this.chkListBoxModules, 1, 1);
            this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
            this.tableLayoutPanel1.Name = "tableLayoutPanel1";
            this.tableLayoutPanel1.RowCount = 2;
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.760532F));
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 92.23947F));
            this.tableLayoutPanel1.Size = new System.Drawing.Size(501, 451);
            this.tableLayoutPanel1.TabIndex = 0;
            // 
            // lblContentGroups
            // 
            this.lblContentGroups.AutoSize = true;
            this.lblContentGroups.Dock = System.Windows.Forms.DockStyle.Fill;
            this.lblContentGroups.Location = new System.Drawing.Point(4, 1);
            this.lblContentGroups.Name = "lblContentGroups";
            this.lblContentGroups.Size = new System.Drawing.Size(243, 34);
            this.lblContentGroups.TabIndex = 0;
            this.lblContentGroups.Text = "Content Groups";
            this.lblContentGroups.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // lblModules
            // 
            this.lblModules.AutoSize = true;
            this.lblModules.Dock = System.Windows.Forms.DockStyle.Fill;
            this.lblModules.Location = new System.Drawing.Point(254, 1);
            this.lblModules.Name = "lblModules";
            this.lblModules.Size = new System.Drawing.Size(243, 34);
            this.lblModules.TabIndex = 1;
            this.lblModules.Text = "Modules";
            this.lblModules.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // tvContent
            // 
            this.tvContent.CheckBoxes = true;
            this.tvContent.Dock = System.Windows.Forms.DockStyle.Fill;
            this.tvContent.Location = new System.Drawing.Point(4, 39);
            this.tvContent.Name = "tvContent";
            this.tvContent.Size = new System.Drawing.Size(243, 408);
            this.tvContent.TabIndex = 2;
            // 
            // chkListBoxModules
            // 
            this.chkListBoxModules.Dock = System.Windows.Forms.DockStyle.Fill;
            this.chkListBoxModules.FormattingEnabled = true;
            this.chkListBoxModules.Location = new System.Drawing.Point(254, 39);
            this.chkListBoxModules.Name = "chkListBoxModules";
            this.chkListBoxModules.Size = new System.Drawing.Size(243, 408);
            this.chkListBoxModules.TabIndex = 3;
            // 
            // LinkedContent
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.Controls.Add(this.tableLayoutPanel1);
            this.Name = "LinkedContent";
            this.Size = new System.Drawing.Size(501, 451);
            this.tableLayoutPanel1.ResumeLayout(false);
            this.tableLayoutPanel1.PerformLayout();
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
        private System.Windows.Forms.Label lblContentGroups;
        private System.Windows.Forms.Label lblModules;
        private System.Windows.Forms.TreeView tvContent;
        private System.Windows.Forms.CheckedListBox chkListBoxModules;
    }
}
Minnesinger answered 25/11, 2011 at 6:27 Comment(2)
Can you put a screenshot up to show us what it looks like?Fatalism
with the given information i was not able to reproduce the described behaviour. pls provide us with some code and a screenshot - thxSophistication
F
11

Check to make sure the IntegralHeight Property is not set. It defaults to true.

From above MSDN Link:

When this property is set to true, the control automatically resizes to ensure that an item is not partially displayed. If you want to maintain the original size of the ListBox based on the space requirements of your form, set this property to false.

Fatalism answered 25/11, 2011 at 6:53 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.