Winforms DataGridView problema de cambio de tamaño

No estoy 100% seguro de cómo debo formular esta pregunta, pero haré mi mejor esfuerzo.

Tengo un PointCtrlForm que tiene un DataGridView dentro de un TableLayoutPanel. El DataGridView se acopla a la tabla como Relleno. PointCtrlForm está acoplado a otra ventana establecida como MDIParent con la propiedad de estilo de conexión configurada como Relleno.

Cambiar el tamaño de la ventana principal redimensiona correctamente el PointCtrlForm, que luego se supone que también redimensiona el DataGridView. Bueno, al menos la "mitad" del cambio de tamaño funciona correctamente. Al ampliar la ventana principal, también se amplía la vista de datos, que es lo que esperaba, pero si reduzco la ventana principal hasta cierto punto, DataGridView deja de encogerse y oculta las columnas sin mostrar una barra de desplazamiento.

He comprobado que todas las columnas no tienen la propiedad Frozen habilitada, he comprobado que tanto la ventana datagridview como la ventana secundaria están acopladas correctamente, y he comprobado que la propiedad de barras de desplazamiento está configurada en ambas.

Editar: AutoSizeColumnsMode también se llena.

Publicaré el contenido de Designer.cs aquí. Apreciaría cualquier orientación.

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;

    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta