星期二, 5月 02, 2017

[C#] DataGridView 子控制項

想要弄一個自訂的 DataGridView 控制項來用,才發現 DataGridView 內好像有未知的子控制項,寫了段 Code 來掃 DataGridView 內全部的子控制項

Layout 就很簡單的拉了一個 DataGridView 和 Button 在畫面上而已
namespace dgvChild
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void GetDataGridViewChildControl(Control Ctls)
        {
            foreach (Control Ctl in Ctls.Controls)
            {
                sb.AppendLine($"Type:{Ctl.GetType()} - Name:{Ctl.Name}");

                if (Ctl.HasChildren)
                    GetDataGridViewChildControl(Ctl);
            }
        }

        StringBuilder sb = new StringBuilder();
        private void button1_Click(object sender, EventArgs e)
        {
            sb.Clear();
            GetDataGridViewChildControl(dataGridView1);
            MessageBox.Show(sb.ToString());
        }
    }
}
原是抓控件名稱來顯示,一直都是空白 (Empty),所以也搞不清楚到底是甚麼控件,後來改成抓控件 Type 才發現是 HScrollBar 和 VScrollBar

[C#] DataGridView 子控制項

沒有留言:

張貼留言