powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Самодельный DataGridView с объединением ячеек, не корректро перерисовывается
1 сообщений из 1, страница 1 из 1
Самодельный DataGridView с объединением ячеек, не корректро перерисовывается
    #38912181
Xam_xam
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для реализации объединения ячеек переопределил событие Paint в DataGridView.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Rectangle rect = GetCellDisplayRectangle(union.ColumnIndex, union.RowIndex, true);
string text = Rows[union.RowIndex].Cells[union.ColumnIndex].Value.ToString();
for (int i = 1; i < union.UnionCells; i++)
{
        Rectangle r = GetCellDisplayRectangle(union.ColumnIndex + i, union.RowIndex, true);
        rect.Width += r.Width;
}
rect.Height -= 1;
rect.Width -= 2;
Graphics gr = e.Graphics;
gr.FillRectangle(Brushes.LightGray, rect);
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center; 
e.Graphics.DrawString(text, Font, Brushes.Black, rect,sf);
            



При скроллинге, те области, которые были вне области видимости, выглядят вот так


Если раскрыть окно на максимум, то происходит перерисовка и почти все выглядит прилично



Если изменять размер окна за край, то ничего не меняется. Так и остается каша.
Подскажите, что делать?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Самодельный DataGridView с объединением ячеек, не корректро перерисовывается
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]