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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> когда DoubleBuffer у контрола тот не рисует линии 
:(
    Опции темы
strader75
Дата 19.2.2007, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 28.1.2007

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



Точнее рисует , но показывает только по фокусу , а надо все время
помогите сделать
PM MAIL   Вверх
mr.DUDA
Дата 19.2.2007, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Покажите нерабочий код.


--------------------
user posted image
PM MAIL WWW   Вверх
strader75
Дата 19.2.2007, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 28.1.2007

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



private void OnPaint(object sender, System.Windows.Forms.PaintEventArgs e)
        {          
            Draw();            
        }
 public void Draw()
        {                            
                Pen P = new Pen(Brushes.Orange);
                P.Color = Color.Black;
                P.DashStyle = DashStyle.Dash;

                g.DrawPath(P, TableLines());            
        }

        GraphicsPath TableLines()
        {
            int V;
            GraphicsPath path = new GraphicsPath();
            if (CHLine.Count != 0)
                foreach (int Key in CHLine.Keys)
                {
                    V = (int)CHLine.GetByIndex(Key);
                    path.AddRectangle(new Rectangle(0, V, this.Width, 1));
                }
            if (CVLine.Count != 0)
                foreach (int Key in CVLine.Keys)
                {
                    V = (int)CVLine.GetByIndex(Key);
                    path.AddRectangle(new Rectangle(V, 0, 1, this.Height));
                  }
            return path;
        }

Добавлено @ 13:08 
когда теряет фокус - линии пропадают  smile 
PM MAIL   Вверх
strader75
Дата 19.2.2007, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 28.1.2007

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



И перекрытые участки не перерисовывает

А без DoubleBuffer мигает , но все видно и перерисовка нормальная

Это сообщение отредактировал(а) strader75 - 19.2.2007, 15:05
PM MAIL   Вверх
Idsa
Дата 19.2.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Меня вообще смущает вышеприведенный код. Где инициализируется переменная g? Если она должна инициализироваться в onPaint, то не хватает строчки Graphics g = e.Graphics.


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


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 28.1.2007

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



переменная g инициализируется в onPaint от e.graphics
PM MAIL   Вверх
Idsa
Дата 19.2.2007, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Побольше бы кода. Что за CVLine, CHLine?


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


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 28.1.2007

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



масивы офсэтов для вертикальных и горизонтальных линий
PM MAIL   Вверх
Idsa
Дата 20.2.2007, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Если с этими массивами все в порядке, то ошибка в другом месте. Предложение "побольше кода" остается в силе  smile 


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


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 28.1.2007

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



нашел , двойной буфер делал проблему
пришлось в ручную настраивать 

PM MAIL   Вверх
Idsa
Дата 21.2.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Поделись решением, интересно же, в чем была ошибка.


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


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 28.1.2007

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



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

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


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

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


 




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


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

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