それによってホストされるコントロールとしてテキストボックスを備えたdatagridviewcellがあります。では、コードの他の部分でプログラムによって制御のタイプを取得するにはどうすればよいですか?
次のように列を追加します。
DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn();
col.ReadOnly = false;
col.Name = "Status";
col.HeaderText = "Status";
dgv.Columns.Add(col);
その列のすべてのセルにテキストボックスが表示されます。次のようなテキストボックスとしてコントロールを取得できます。
private void dgv_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dgv.CurrentCell.ColumnIndex == 5 && e.Control is TextBox)
{
//something
}
}
他の場所のセルでホストされているタイプのコントロールを取得するにはどうすればよいですか?コードの他の部分から取得e.Control
して、次のようなことができるようにする方法:
((TextBox)dgv[i, j].EditinControl).AutoCompleteSource = AutoCompleteSource.CustomSource;
((TextBox)dgv[i, j].EditinControl).AutoCompleteCustomSource = someSource;
((TextBox)dgv[i, j].EditinControl).AutoCompleteMode = AutoCompleteMode.SuggestAppend;
など。上記の行で何を置き換えることができEditinControl
ますか..??