Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рекурсивное вычисление абсолютных координат 
:(
    Опции темы
XavierElf
Дата 23.3.2007, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 24.1.2007
Где: г. Тверь

Репутация: 1
Всего: 1



Значит требуется следующее:
В DataGridView нужно получить абсолютные координаты (от левого верхнего края формы) каждой ячейки хэдера.
Как это правильно реализовать с помощью рекурсии?
Размеры вычисляются следующим образом:
Код

Cell[0] = this.gridBounds.Left;
Cell[1] = this.gridBounds.Left + Cell[0].Width + Cell[0].DividerWidth;
...

и так далее...

--------------------
Даешь открытые исходники!
PM MAIL ICQ   Вверх
Idsa
Дата 25.3.2007, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 4
Всего: 62



А рекурсия - это дело принципа что ли? Здесь напрашивается простенький цикл.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
XavierElf
Дата 26.3.2007, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 24.1.2007
Где: г. Тверь

Репутация: 1
Всего: 1



Ну, вообще проблему решил таким способом:
Код

Rectangle[] FullCell = new Rectangle[this.Columns.GetColumnCount(DataGridViewElementStates.Visible)];
int CurrentCell = gridBounds.Left;
FullCell[0].X = gridBounds.Left;
for (int i = 1; i < this.Columns.GetColumnCount(DataGridViewElementStates.Visible); i++)
{
    CurrentCell += this.Columns[i - 1].Width;
    CurrentCell += this.Columns[i - 1].DividerWidth;
    FullCell[i].X = CurrentCell;
}

но хотелось бы посмотреть, как это можно реализовать рекурсией...  smile 
--------------------
Даешь открытые исходники!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0717 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.