私はTabControlを持っています。DataGridView を動的に追加した TabPages を動的に追加したいと考えています。tabPages を動的に追加することはできますが、DataGridView を動的な tabPage に追加しても何も表示されません。提供できるヘルプに感謝します。
これがコードです。
myTabPage.SuspendLayout();
tabControlNonQueued.TabPages.Add(myTabPage);
loadDataGridToTab(dataTable, myTabPage);
private void loadDataGridToTab(DataTable dt, TabPage tab)
{
DataGridView grid = new DataGridView();
tab.Controls.Add(grid);
tab.Refresh();
grid.Visible = true;
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle = new System.Windows.Forms.DataGridViewCellStyle();
grid.AllowUserToAddRows = false;
grid.AllowUserToDeleteRows = false;
grid.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
grid.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle;
grid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridViewCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
grid.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle;
grid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
//grid.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
//this.cbDG});
hideDGColumn(grid, "Counter");
SetFontAndColors(grid);
lockDataGrid(grid);
BindingSource source = new BindingSource();
source.DataSource = dt;
grid.Dock = DockStyle.Fill;
grid.DataSource = source;
}
ありがとう