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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2012, 22:37   #1
dasvex
Пользователь
 
Регистрация: 08.08.2011
Сообщений: 39
По умолчанию C# Создание таймера в таймере

Дело в том что по событию таймера timer должен вызываться самописный контрол , который в своей работе использует другой таймер , а именно - FormTimer.
Только вот этот FormTimer в этом контроле не отрабатывает(Tick событие никогда не происходит )
Если я правильно понимаю , то поток закрывается раньше срабатывания таймера .
Для теста вставил в конец события : while(true){;} , однако тики все равно не проходят...
Чего я не правильно понимаю и как все-таки решить данную проблему ?
спасибо )

Код:
    class Test {
        private System.Timers.Timer timer = new System.Timers.Timer();
        public Test() {
            this.Run();
        }
        public void Run() {
            timer.Interval = 1000;
            timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
            timer.Start();
        }
        void timer_Elapsed(object sender,System.Timers.ElapsedEventArgs e) {
            System.Diagnostics.Debug.WriteLine(sender.ToString()+" >>> "+System.DateTime.Now.ToLongTimeString());
            System.Windows.Forms.Timer FormTimer = new System.Windows.Forms.Timer();
            FormTimer.Interval = 1000;
            FormTimer.Tick += new EventHandler(FormTimer_Tick);
            FormTimer.Start();
            /*
            timer.Stop();
            while(true) {;}
            */
        }
        void FormTimer_Tick(object sender,EventArgs e) {
            System.Diagnostics.Debug.WriteLine(sender.ToString() + " >>> " + System.DateTime.Now.ToLongTimeString());
        }
    }
dasvex вне форума Ответить с цитированием
Старый 22.10.2012, 00:11   #2
dasvex
Пользователь
 
Регистрация: 08.08.2011
Сообщений: 39
По умолчанию

сделать ап
dasvex вне форума Ответить с цитированием
Старый 02.11.2012, 14:46   #3
dasvex
Пользователь
 
Регистрация: 08.08.2011
Сообщений: 39
По умолчанию

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

Код:
    class Test {
        private System.Timers.Timer timer = new System.Timers.Timer();
        private System.Windows.Threading.Dispatcher d; 
        private delegate void DeegateTest();
        public Test() {
            d = System.Windows.Threading.Dispatcher.CurrentDispatcher;
            this.Run();
        }
        public void Run() {
            timer.Interval = 1000;
            timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
            timer.Start();
        }
        void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) {
            System.Diagnostics.Debug.WriteLine(sender.ToString() + " >>> " + System.DateTime.Now.ToLongTimeString());
            d.BeginInvoke(new DeegateTest(ShowTestMessage), System.Windows.Threading.DispatcherPriority.Background, null);
        }
        void FormTimer_Tick(object sender, EventArgs e) {
            System.Diagnostics.Debug.WriteLine(sender.ToString() + " >>> " + System.DateTime.Now.ToLongTimeString());
        }
        void ShowTestMessage() {
            System.Windows.Forms.Timer FormTimer = new System.Windows.Forms.Timer();
            FormTimer.Interval = 1000;
            FormTimer.Tick += new EventHandler(FormTimer_Tick);
            FormTimer.Start();
        }
    }
dasvex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание таймера в Delphi viron Помощь студентам 2 20.12.2011 18:54
копирование в таймере wm_leviathan C# (си шарп) 0 08.12.2011 16:27
Переменные в таймере. Alex Cones Win Api 7 06.11.2010 20:54
Создание высокочастотного таймера с нуля. VintProg Общие вопросы Delphi 5 07.05.2010 10:45
Создание таймера Borland Delphi vitalina21 Помощь студентам 20 19.01.2010 20:23