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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2014, 18:32   #1
Sinner_777
 
Регистрация: 18.03.2014
Сообщений: 5
По умолчанию (c#)Как только элемент label появится, он должен начать движение со скоростью 1 пиксель за 1 миллисекунду в сторону нижнего угла,

(c#)Как только элемент label появится, он должен начать движение со скоростью 1 пиксель за 1 миллисекунду в сторону нижнего угла, при том при столкновении label с границами формы,(форма 500; 250) он должен отклонятся и продолжать движения в противоположную сторону, меняя цвет в соответствии с цветами радуги=) выручайти=) Это осталась концовка от задания, это вот не выходит сделать=) Кто чем поможет буду признателен=) Если что то не понятно, сообщите...я допишу, могу выслать свой основной код если надо.

Последний раз редактировалось Sinner_777; 18.03.2014 в 18:35.
Sinner_777 вне форума Ответить с цитированием
Старый 18.03.2014, 20:17   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

кросс
пост

Наработки по бегающему цветному лейблу какие-то имеются ? выкладывайте.
phomm вне форума Ответить с цитированием
Старый 18.03.2014, 20:29   #3
mr_cipher
Пользователь
 
Регистрация: 05.03.2012
Сообщений: 29
По умолчанию

капец спам.
Народ совсем обленился.
mr_cipher вне форума Ответить с цитированием
Старый 18.03.2014, 21:05   #4
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Не ошибся, орёл? 1 пиксель за 1 миллисекунду?
ReportCube вне форума Ответить с цитированием
Старый 18.03.2014, 21:28   #5
VideoSharp
Новичок
Джуниор
 
Регистрация: 14.03.2014
Сообщений: 2
По умолчанию

Ставишь в форму таймер(timer) и панель(panel).
Панель делаешь dock = fill;

//нужно разместить в классе формы
//sx - по горизонтали sy - по вертикали
int sx = 1, sy = 1;

//в свойствах меняешь интервал в мс.
//для того что бы таймер начал работать, ему нужно указать
//в свойствах Enabled = true, либо в коде timer.Enabled = true;
//в таймере событие tick:
{
int x = label.Location.X; //текущее положение по Х
int y = label.Location.Y; //текущее положение по У
int w = label.Width; // расмеры лейбла что бы контролировать не выходит
int h = label.Height; //ли он за границы

int maxx = panel.Width; //размеры панели по которой бегает лейбл
int maxy = panel.Height;

//проверка не выходит ли при следуэщем шаге лейбл за границы панели
if (x + sx < minx || x + sx + w > maxx) sx = -sx; else x += sx;
if (y + sy < miny|| y + sy + h> maxy) sy = -sy; else y += sy;
//помещает заново лейбл, но визуально его перемещает циклически с интервалом
//заданого в таймере
label.Location = new.Point(x,y);
}
VideoSharp вне форума Ответить с цитированием
Старый 18.03.2014, 21:32   #6
VideoSharp
Новичок
Джуниор
 
Регистрация: 14.03.2014
Сообщений: 2
По умолчанию

А и визуально не сильно будет ощутимо, если ты будешь перемещать на 15 с интервалом 15 мс, или на 1, с интервалом 1 мс. Но программа будет работать быстрее с 15 мс а 15.. В смысле экономии ресурсов системы.
VideoSharp вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как только элемент label появится, он должен начать движение со скоростью 1 пиксель за 1 миллисекунду в сторону нижнего угла, при Sinner_777 Помощь студентам 1 18.03.2014 20:26
Найти расстояние от верхнего левого угла до правого нижнего угла матрицы iMisha Паскаль, Turbo Pascal, PascalABC.NET 3 03.04.2012 22:19
Движение со скоростью света и быстрее скорости света - Сверхсветовое движение Alar Свободное общение 354 13.11.2011 21:32
В прямой четырехугольной призме провести сечение, проходящее через сторону нижнего основания под углом 30 ramp1 Паскаль, Turbo Pascal, PascalABC.NET 0 04.06.2011 10:39
движение авто со скоростью saltonik Помощь студентам 9 02.04.2011 23:18