Вам также необходимо создать класс Column
и установить для свойства CellTemplate
новый экземпляр класса Cell
:
public class MyDataGridViewTextBoxColumn : DataGridViewTextBoxColumn
{
public MyDataGridViewTextBoxColumn() =>
CellTemplate = new MyDataGridViewTextBoxCell();
}
И ваш класс Cell
должен выглядеть следующим образом:
public class MyDataGridViewTextBoxCell : DataGridViewTextBoxCell
{
public MyDataGridViewTextBoxCell() { }
public string Url { get; set; }
//Don't forget to clone your new properties.
public override object Clone()
{
var c = base.Clone();
((MyDataGridViewTextBoxCell)c).Url = Url;
return c;
}
}
Теперь вы можете добавить новый тип Column
от дизайнера:

Или через код:
var myNewTBC = new MyDataGridViewTextBoxColumn
{
HeaderText = "My Custom TB",
};
dataGridView1.Columns.Add(myNewTBC);
Если предположить, что столбец пользовательского текстового поля является первым столбцом в DGV, то вы можете получить Cell
следующим образом:
var myTB = (MyDataGridViewTextBoxCell)dataGridView1.Rows[0].Cells[0];
myTB.Url = "...";