#c#
#c#
Вопрос:
Я хочу переопределить класс datagridview, например переопределить bool ProcessDialogKey и ProcessDataGridViewKey. в какой форме я должен написать этот код, чтобы он работал?
Ответ №1:
Я не уверен, что вы имеете в виду, какую форму вы должны использовать, но вы можете расширить DataGridView в классе, например, так:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace MyTest
{
class MyDataGridView : DataGridView
{
protected override bool ProcessDialogKey(Keys keyData) {
// Your implementation here.
}
protected override bool ProcessDataGridViewKey(KeyEventArgs e) {
// Your implementation here.
}
}
}
Этот код создает новый класс, MyDataGridView
который наследуется от стандартного класса Winform DataGridView
. Вы можете прочитать больше о наследовании здесь.
Комментарии:
1. я имею в виду, что я использую datagridview в форме. должен ли этот код быть в форме tht или как можно создать ссылку на этот класс, если он существует снаружи.
2. как ссылаться на этот класс в нашей форме?
3. Создайте этот класс и используйте его в своей форме
4. Вы можете найти определение представления datagrid в designer.cs form и изменить его объявление на MyDataGridView
5. Проще всего было бы создать класс (ваш элемент управления) в том же проекте, что и ваша форма. Затем элемент управления должен появиться на панели инструментов, из которой вы можете добавить его в свою форму. Вы всегда можете ссылаться на элемент управления, как на любой другой класс (
var myDataGridView = new MyDataGridView();
).