CheckedListBox Dock not working properly

I created a user control for Windows forms applications. All he has is a four-cell TableLayoutPanel. Cell [0,0] and cell [0,1] have labels. Cell [1,0] has a treeview, and cell [1,1] has a CheckedListBox.

For all four controls, I have docked with Fill. This freaking CheckedListBox looks smaller than a TreeView. Is there a way to get the proper docking for controls?

By the way, I am using .Net 3.5 and VS 2010.

The following is the constructor 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; } } 
+4
source share
1 answer

Ensure that the IntegralHeight property is not set. The default value is true.

Top MSDN Link:

If this property is set to true, the control automatically resizes to prevent the item from being partially displayed. If you want to keep the original size of the ListBox based on the requirement space of your form, set this property to false.

+8
source

Source: https://habr.com/ru/post/1383005/


All Articles