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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с отрисовкой компонентов на панеле 
:(
    Опции темы
gambit
Дата 4.7.2009, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



Все было нормально, но понадобилось добавить метод расширитель для класса Graphics, для рисования окружности через свойство радиуса

Код

        public static void DrawCircle(this Graphics g, Pen p, int x, int y, int r)
        {
            g.DrawEllipse(p, x - r, y - r, 2*r, 2*r);
        }


После чего на правой панеле свойств стали пропадать компоненты, и появляются только после перетаскивания формы. Перерисовка формы и панели не помогает. 

С чем это может быть связано???


ЗЫ. для параноиков,вот справка от гинеколога

Цитата

Проверенный файл:   WindowsFormsApplication2.exe

Статистика проверки:
Известных вирусов:    2427178    Дата последнего обновления:    04-07-2009
Размер файла (Kb):    38    Тел вирусов:    0
Файлов:    1    Предупреждений:    0
Архивов:    0    Подозрительных:    0




Это сообщение отредактировал(а) gambit - 4.7.2009, 22:17

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  WindowsFormsApplication2.rar 14,32 Kb
PM MAIL ICQ Skype   Вверх
gambit
Дата 4.7.2009, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



В исходнике (в классе ShapeEllipse.cs) вы найдете строки
Код

Pen p = new Pen(LineColor, LineThickness);

            double a = Math.Pow(Y - YStart, 2);
            double c = Math.Pow(X - XStart, 2);
            R = (int)Math.Sqrt(a + c);

            e.DrawCircle(p, XStart, YStart, R);

            p.Dispose();



Так вот, если исключить свойство R, например так, то все чудесно работает.

Код

Pen p = new Pen(LineColor, LineThickness);

//            double a = Math.Pow(Y - YStart, 2);
//            double c = Math.Pow(X - XStart, 2);
//            R = (int)Math.Sqrt(a + c);

            e.DrawCircle(p, XStart, YStart, 50);

            p.Dispose();


Но само свойство ничего интересного не представляет

Код

public int R
        {
            get
            {
                return _r;
            }
            set
            {
                _r = value;
                OnChanged();
            }
        }





Ну и сам исходник

Это сообщение отредактировал(а) gambit - 4.7.2009, 22:17

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  WindowsFormsApplication2.rar 209,73 Kb
PM MAIL ICQ Skype   Вверх
gambit
Дата 6.7.2009, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

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



Проблема сама отпала, мне сказали что скорее всего косяк где-то в .net помогла конструкция 
Код

panel.Update();

PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




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


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

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