Сегодня я реализовал пользовательскую сетку (DataGridViewFinder), которая происходит от DataGridView. Эта сетка относится только к нашим диалогам поиска. Сетка имеет свойства по умолчанию, установленные так, чтобы она соответствовала всем остальным сеткам поиска. Кроме того, поскольку я знаю, что этот тип сетки будет только в диалоге поиска, я переопределил некоторые события, которые будут устанавливать свойства и вызывать методы базового поиска.
Мне нравится этот подход, потому что он гарантирует, что когда я опускаю свою пользовательскую сетку в диалоге поиска, определенные свойства и события уже обрабатываются для меня. Будет много диалогов поиска, и я подозреваю, что это сэкономит много времени. Кто-нибудь видит что-то не так с этой реализацией?
protected override void OnEnter(EventArgs e)
{
base.OnEnter(e);
if (Parent is BaseFinder)
{
(Parent as BaseFinder).Mode = FinderMode.Ok;
}
}
protected override void OnDoubleClick(EventArgs e)
{
base.OnDoubleClick(e);
if (Parent is BaseFinder)
{
(Parent as BaseFinder).btOk_Click(this, e);
}
}