Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Вопросик про таймер


Автор: AlexJohnson 16.8.2007, 13:21
Вот код:

Код

class Program:Form
    {      
        Timer timer1 = new Timer();

        static void Main(string[] args)
        {
            Application.Run(new Program());           
        }

        public Program()
        {
            
            Text = "";
            BackColor = Color.Brown;
            ForeColor = SystemColors.WindowText;

            timer1.Enabled = true;
            timer1.Interval = 5000;            
        }
        
        protected override void OnPaint(PaintEventArgs pea)
        {
            Graphics grfx = pea.Graphics;          
            grfx.SmoothingMode = SmoothingMode.HighQuality;
            this.Activate();
            timer1.Tick+=new EventHandler(timer1_Tick);
        }
        public void timer1_Tick(object obj, EventArgs e) 
        {
            Console.WriteLine("OK!OK!");          
        }
}


Вопрос: а почему сообщение выводится 2 раза??? smile 

Автор: HalkaR 16.8.2007, 13:29
Странно что ТОЛЬКО два раза
Ты подписываешься на событие в Paint, а он вызывается многократно. Ты многократно подписываешься.

Автор: FREEDEV 16.8.2007, 15:37
наверно в Designere у тебя обработчик и тут еще один 
Код

timer1.Tick+=new EventHandler(timer1_Tick);

Автор: AlexJohnson 23.8.2007, 22:17
HalkaR и FREEDEV СПАСИБО Вам!!! нашел я ошибку, а в Paint больше никогда событий писать не буду!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)