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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Бегущая строка, Создание бугущей строки 
:(
    Опции темы
PashaSem
Дата 8.1.2007, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Привет!
Подскажиете простой способ как создать бегущую строку.
И по событию добовлять string переменные в нее.

Спасибо! 
PM MAIL   Вверх
DarkDragon
Дата 9.1.2007, 02:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


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

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



Цитата
Подскажиете простой способ как создать бегущую строку.
 - Про это, я тебе сейчас расскажу:
Код

    public class RunLabel : Control
    {
        private Timer timer;

        public RunLabel()
        {
            timer = new Timer();
            timer.Interval = 10; // Установка в 0.010 - сек.
            timer.Tick += new EventHandler(timer_Tick);
            sx = 0;
            SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
        }

        void timer_Tick(object sender, EventArgs e)
        {
            using (Graphics g = this.CreateGraphics())
            {
                sx += 2;
                if (sx >= this.Width) sx = 0 - (int)g.MeasureString(Text, Font).Width;
            }
            this.Refresh();
        }

        private int sx;

        public bool Running
        {
            get { return timer.Enabled; }
            set { timer.Enabled = value; }
        }

        public int StartX
        {
            get { return sx; }
            set { sx = value; this.Refresh(); }
        }

        protected override void OnPaint(PaintEventArgs e)
        {
            e.Graphics.DrawString(Text, Font, new SolidBrush(ForeColor), (float)sx, 0);
            base.OnPaint (e);
        }
    }

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

Используем:
Код

        public Form1() // Конструктор
        {
            InitializeComponent();
            RunLabel rl = new RunLabel();
            rl.Text = "Hello World"; // Даем чему бежать
            rl.Dock = DockStyle.Fill; // На всю форму.
            this.Controls.Add(rl); // Добавляем контрол в форму
            rl.Running = true; // Врубаем ноги. И по-бе-жа-л
        }


Цитата(PashaSem @  8.1.2007,  18:49 Найти цитируемый пост)
И по событию добовлять string переменные в нее.

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

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


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

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


 




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


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

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