Удалить отступы / поля из ячейки DataGridView - PullRequest
2 голосов
/ 16 февраля 2011

У меня проблема с DataGridView.Стиль ячейки по умолчанию имеет некоторый отступ или отступ, что делает всю строку выше, чем мне нужно.

Я установил для свойства Height в RowTemplate меньшее значение (например, 15 px), но теперь ячейка обрезает нижние знаки, такие как подчеркивание ('_'), и в верхней части ячейки есть 1 или 2 пустых пикселя.

Как сделать ячейку DataGridView для отображения значений без отступов / полей, как в ListView (подробный вид)?

radzi0_0

Ответы [ 2 ]

0 голосов
/ 08 мая 2013

У меня были похожие проблемы с моим DataGridView. Каждый раз, когда я изменял размер столбца, моя строка (например, «A») была обрезана до чего-то вроде «A ...», но строка не торчала из ячейки.

Теперь я только что узнал, что строки имеют странное поведение со своими границами. Вокруг строк есть так называемый «прямоугольник макета», который на самом деле больше, чем сама строка. Это означает, что если прямоугольник торчит из области записи (в данном случае DataGridViewCell), строка будет обрезана или обернута.

StringFormat format = new StringFormat(StringFormatFlags.NoClip);

Этот объект предоставляет информацию о том, что строка должна быть нарисована так, чтобы этот неприятный прямоугольник макета был слишком большим. Вы можете использовать StringFormat, как показано CodeBlend.

К сожалению, я не нашел способа присвоить этот объект строке, так что мне не нужно заботиться о том, как рисуется строка.

0 голосов
/ 25 августа 2011

Я надеюсь, что это поможет вам в этой ситуации;

void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)//remove padding
{
   // ignore the column header and row header cells

   if (e.RowIndex != -1 && e.ColumnIndex != -1)
   {
      e.PaintBackground(e.ClipBounds, true);
      e.Graphics.DrawString(Convert.ToString(e.FormattedValue), e.CellStyle.Font, Brushes.Gray, e.CellBounds.X, e.CellBounds.Y - 2, StringFormat.GenericDefault)
      e.Handled = true;
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...