Winforms DataGridView проблема изменения размера

Я не уверен на 100%, как мне сформулировать этот вопрос, но я буду стараться изо всех сил.

У меня есть PointCtrlForm, который имеет DataGridView внутри TableLayoutPanel. DataGridView пристыкован к таблице как Fill. PointCtrlForm пристыкован к другому окну, установленному как MDIParent, а свойство dockstyle установлено как Fill.

Изменение размера главного окна правильно изменяет размер PointCtrlForm, который затем должен также изменять размер DataGridView. Ну, по крайней мере, «половина» из изменения размера работает правильно. Увеличение основного окна также расширяет представление данных, что я и ожидал, но если я сжимаю главное окно до определенной точки, DataGridView прекращает сжатие и скрывает столбцы, не показывая полосу прокрутки.

Я проверил, что во всех столбцах не включено свойство Frozen, проверил, правильно ли закреплен и datagridview, и дочернее окно, и проверил, что свойство scrollbars установлено в оба.

Изменить: AutoSizeColumnsMode также заполнить.

Я опубликую содержание сайта Designer.cs здесь. Я буду признателен за любые рекомендации.

namespace DDCUI
{
    partial class PointCtrlForm
    {
        /// <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 Windows Form 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.CmbSubDevice = new System.Windows.Forms.ComboBox();
            this.BtnBack = new System.Windows.Forms.Button();
            this.CmbMainDevice = new System.Windows.Forms.ComboBox();
            this.dataGridView1 = new System.Windows.Forms.DataGridView();
            this.BtnRefresh = new System.Windows.Forms.Button();
            this.label1 = new System.Windows.Forms.Label();
            this.ID = new System.Windows.Forms.DataGridViewTextBoxColumn();
            this.PointName = new System.Windows.Forms.DataGridViewTextBoxColumn();
            this.Value = new System.Windows.Forms.DataGridViewTextBoxColumn();
            this.Description = new System.Windows.Forms.DataGridViewTextBoxColumn();
            this.DefaultValue = new System.Windows.Forms.DataGridViewTextBoxColumn();
            this.ActiveString = new System.Windows.Forms.DataGridViewTextBoxColumn();
            this.InactiveString = new System.Windows.Forms.DataGridViewTextBoxColumn();
            this.AlarmCondition = new System.Windows.Forms.DataGridViewTextBoxColumn();
            this.tableLayoutPanel1.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
            this.SuspendLayout();
            // 
            // tableLayoutPanel1
            // 
            this.tableLayoutPanel1.ColumnCount = 6;
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100F));
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100F));
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100F));
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100F));
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 151F));
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 88F));
            this.tableLayoutPanel1.Controls.Add(this.CmbSubDevice, 0, 1);
            this.tableLayoutPanel1.Controls.Add(this.BtnBack, 0, 0);
            this.tableLayoutPanel1.Controls.Add(this.CmbMainDevice, 0, 1);
            this.tableLayoutPanel1.Controls.Add(this.dataGridView1, 0, 2);
            this.tableLayoutPanel1.Controls.Add(this.BtnRefresh, 4, 1);
            this.tableLayoutPanel1.Controls.Add(this.label1, 5, 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 = 3;
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 67.02128F));
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 32.97872F));
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 368F));
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
            this.tableLayoutPanel1.Size = new System.Drawing.Size(639, 467);
            this.tableLayoutPanel1.TabIndex = 0;
            // 
            // CmbSubDevice
            // 
            this.tableLayoutPanel1.SetColumnSpan(this.CmbSubDevice, 2);
            this.CmbSubDevice.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.CmbSubDevice.Font = new System.Drawing.Font("굴림", 12F);
            this.CmbSubDevice.FormattingEnabled = true;
            this.CmbSubDevice.Location = new System.Drawing.Point(203, 69);
            this.CmbSubDevice.Name = "CmbSubDevice";
            this.CmbSubDevice.Size = new System.Drawing.Size(194, 24);
            this.CmbSubDevice.TabIndex = 3;
            // 
            // BtnBack
            // 
            this.BtnBack.Location = new System.Drawing.Point(3, 3);
            this.BtnBack.Name = "BtnBack";
            this.BtnBack.Size = new System.Drawing.Size(94, 54);
            this.BtnBack.TabIndex = 0;
            this.BtnBack.Text = "Back";
            this.BtnBack.UseVisualStyleBackColor = true;
            this.BtnBack.Click += new System.EventHandler(this.BtnBack_Click);
            // 
            // CmbMainDevice
            // 
            this.tableLayoutPanel1.SetColumnSpan(this.CmbMainDevice, 2);
            this.CmbMainDevice.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.CmbMainDevice.Font = new System.Drawing.Font("굴림", 12F);
            this.CmbMainDevice.FormattingEnabled = true;
            this.CmbMainDevice.Items.AddRange(new object[] {
            "I/O",
            "VIRTUAL",
            "SAC",
            "MODBUS",
            "NATIONAL",
            "TOSHIBA",
            "SCHEDULE",
            "SYSTEM ALARM",
            "LOGIC",
            "GROUP"});
            this.CmbMainDevice.Location = new System.Drawing.Point(3, 69);
            this.CmbMainDevice.Name = "CmbMainDevice";
            this.CmbMainDevice.Size = new System.Drawing.Size(194, 24);
            this.CmbMainDevice.TabIndex = 2;
            this.CmbMainDevice.SelectedIndexChanged += new System.EventHandler(this.CmbMainDevice_SelectedIndexChanged);
            // 
            // dataGridView1
            // 
            this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
            this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
            this.ID,
            this.PointName,
            this.Value,
            this.Description,
            this.DefaultValue,
            this.ActiveString,
            this.InactiveString,
            this.AlarmCondition});
            this.tableLayoutPanel1.SetColumnSpan(this.dataGridView1, 6);
            this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.dataGridView1.Location = new System.Drawing.Point(3, 101);
            this.dataGridView1.Name = "dataGridView1";
            this.dataGridView1.RowTemplate.Height = 23;
            this.dataGridView1.Size = new System.Drawing.Size(633, 363);
            this.dataGridView1.TabIndex = 5;
            // 
            // BtnRefresh
            // 
            this.BtnRefresh.Location = new System.Drawing.Point(403, 69);
            this.BtnRefresh.Name = "BtnRefresh";
            this.BtnRefresh.Size = new System.Drawing.Size(94, 26);
            this.BtnRefresh.TabIndex = 6;
            this.BtnRefresh.Text = "Refresh";
            this.BtnRefresh.UseVisualStyleBackColor = true;
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.label1.Font = new System.Drawing.Font("굴림", 12F);
            this.label1.Location = new System.Drawing.Point(554, 66);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(82, 32);
            this.label1.TabIndex = 7;
            this.label1.Text = "XXX 개";
            this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // ID
            // 
            this.ID.FillWeight = 70F;
            this.ID.HeaderText = "ID";
            this.ID.Name = "ID";
            // 
            // PointName
            // 
            this.PointName.FillWeight = 70F;
            this.PointName.HeaderText = "이름";
            this.PointName.Name = "PointName";
            // 
            // Value
            // 
            this.Value.FillWeight = 70F;
            this.Value.HeaderText = "값";
            this.Value.Name = "Value";
            // 
            // Description
            // 
            this.Description.FillWeight = 70F;
            this.Description.HeaderText = "설명";
            this.Description.Name = "Description";
            // 
            // DefaultValue
            // 
            this.DefaultValue.FillWeight = 70F;
            this.DefaultValue.HeaderText = "초기값";
            this.DefaultValue.Name = "DefaultValue";
            // 
            // ActiveString
            // 
            this.ActiveString.HeaderText = "Active문자열";
            this.ActiveString.Name = "ActiveString";
            // 
            // InactiveString
            // 
            this.InactiveString.HeaderText = "InActive문자열";
            this.InactiveString.Name = "InactiveString";
            // 
            // AlarmCondition
            // 
            this.AlarmCondition.HeaderText = "알람조건";
            this.AlarmCondition.Name = "AlarmCondition";
            // 
            // PointCtrlForm
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(639, 467);
            this.Controls.Add(this.tableLayoutPanel1);
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            this.Name = "PointCtrlForm";
            this.Text = "LG-DDC";
            this.tableLayoutPanel1.ResumeLayout(false);
            this.tableLayoutPanel1.PerformLayout();
            ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
        private System.Windows.Forms.Button BtnBack;
        private System.Windows.Forms.ComboBox CmbMainDevice;
        private System.Windows.Forms.ComboBox CmbSubDevice;
        private System.Windows.Forms.DataGridView dataGridView1;
        private System.Windows.Forms.Button BtnRefresh;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.DataGridViewTextBoxColumn ID;
        private System.Windows.Forms.DataGridViewTextBoxColumn PointName;
        private System.Windows.Forms.DataGridViewTextBoxColumn Value;
        private System.Windows.Forms.DataGridViewTextBoxColumn Description;
        private System.Windows.Forms.DataGridViewTextBoxColumn DefaultValue;
        private System.Windows.Forms.DataGridViewTextBoxColumn ActiveString;
        private System.Windows.Forms.DataGridViewTextBoxColumn InactiveString;
        private System.Windows.Forms.DataGridViewTextBoxColumn AlarmCondition;

    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос