Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2015, 11:32   #1
Anomaly
 
Регистрация: 17.03.2015
Сообщений: 3
По умолчанию Устранение мерцания

Программа создает модель солнечной системы, но при движении все мерцает. Как от этого избавиться?
Вложения
Тип файла: zip SolarSystem.zip (70.1 Кб, 27 просмотров)
Anomaly вне форума Ответить с цитированием
Старый 27.03.2015, 11:36   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Double buffering.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 27.03.2015, 12:19   #3
Anomaly
 
Регистрация: 17.03.2015
Сообщений: 3
По умолчанию

В коде есть двойная буферизация, не помогает.
Anomaly вне форума Ответить с цитированием
Старый 27.03.2015, 12:38   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Это свойство надо в конструкторе выставлять (вроде обязательно, чтоб до первого рисования было), а не каждый раз.

Ну или можно самому сделать что-то типа такого:
Код:
            Bitmap bmp = new Bitmap(...);
            Graphics g = Graphics.FromImage(bmp);
            ....Draw(g);
            вывод bmp; например pictureBox.Image = bmp;
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 27.03.2015, 12:56   #5
Anomaly
 
Регистрация: 17.03.2015
Сообщений: 3
По умолчанию

Я плохо разбираюсь в c#, где писать данный код? и как вывести то, что нарисовано в классе Space.cs в форме, а не на панели?
Код:
   Bitmap bmp = new Bitmap(...);
            Graphics g = Graphics.FromImage(bmp);
            ....Draw(g);
            вывод bmp; например pictureBox.Image = bmp;
Anomaly вне форума Ответить с цитированием
Старый 27.03.2015, 13:13   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну разберитесь. Смысл в том, чтобы рисовать не сразу на элементе формы, а сначала отрисовать все на Bitmap и его вывести.

http://www.codeproject.com/Articles/...-Double-Buffer

Цитата:
как вывести то, что нарисовано в классе Space.cs в форме, а не на панели?
Так же как и на панели.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 27.03.2015, 20:47   #7
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Цитата:
рисовать не сразу на элементе формы, а сначала отрисовать все на Bitmap и его вывести.
Это лучше чем ничего, но всё равно не спасёт. Нужно именно
Код:
Это свойство надо в конструкторе выставлять
Если не охота рисовать на форме, можно создать свой компонент, отнаследованный от панели:
Код:
    public class BufferedPanel : Panel
    {
        public BufferedPanel()
        {
            DoubleBuffered = true;
        }
    }
После билда должен появиться комопннет в панельке - его можно будет кинуть на форму.
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Устранение ошибок(ошибки указаны) Konsyello Общие вопросы C/C++ 1 29.01.2014 20:05
Устранение недоработки Grand_Daddy Паскаль, Turbo Pascal, PascalABC.NET 6 01.05.2012 15:47
500$ за поиск и устранение глюков. Delphi. pavel25 Фриланс 12 24.04.2011 09:09
Makefile: устранение ошибок russian-stalker Qt и кроссплатформенное программирование С/С++ 1 27.12.2010 15:08
Delphi 2006 - устранение неполадок! Killer_djon Софт 1 04.05.2007 22:10