У меня есть класс, который специализируется на DataGridViewCell и обрабатывает рисование по-другому. Ему также необходимо переопределить функцию GetPreferredSize, чтобы запросить подходящий размер содержимого, которое он хочет отобразить. Функция Paint получает в качестве аргументов «value» и «formattedValue», но функция GetPreferredSize получает только индекс строки.
Я хотел бы знать, как правильно получить значение ячейку (необходимую для расчета оптимального размера).
Если я правильно понимаю, мне следует избегать подобных действий:
Код: Выделить всё
text = (string)this.DataGridView.Rows[rowIndex].Cells[this.ColumnIndex].Value;
чтобы избежать отмены общего доступа к строке. Возможно, актуально: я использую DataGridView в виртуальном режиме.
Подробнее здесь:
https://stackoverflow.com/questions/167 ... shared-row