PDA

View Full Version : سوال: مشکل تایمر



amir-aa
شنبه 15 مرداد 1390, 10:34 صبح
سلام وخسته نباشید
دوستان من هر کاری می کنم این تایمرم disable نمیشه.
فقط می خوام یک دور اجرا بشه و بعد غیر فعال شه.
دستور
timer.enabled=false
رو هم آخر دستوراتم نوشتم اما باز هم تایمر کار میکنه.:متفکر:

morteza271
شنبه 15 مرداد 1390, 10:40 صبح
شما همین دستور رو در آخر متد Tick تایمرتون بذارید حتما درست میشه!
private void timer1_Tick()
{
// your Code.

timer1.Enable = false;
}
اگه درست نشد مطمئنا جایی دیگه از کدتون دوباره اون رو Enable میکنید.
اگه برنامتون رو تریس کنید متوجه میشید که کی و کجا دوباره Enable میشه.
موفق باشید.

amir-aa
شنبه 15 مرداد 1390, 11:30 صبح
درست نمیشه عزیزم راستی من نمیدونم چجوری تریس کنم.یه راهنمایی بکن لطفا.

morteza271
شنبه 15 مرداد 1390, 11:39 صبح
من نمیدونم چجوری تریس کنم
برای تریس کردن در رویداد لود فرمتون (فرمی که تایمر داره) یک Breakpoint بذارید و سپس برنامه رو با F5 اجرا کنید.
اینطوری وقتی اون فرم لود بشه توی اون خطی که Breakpoint گذاشتین می ایسته و شما میتونید با F10 خط به خط برید جلو و بفهمید چه کدهایی اجرا میشه!

اگه نتونستین درستش کنید اگه امکانش هست کدتونو بذارید تا مشکلشو برطرف کنم.

amir-aa
شنبه 15 مرداد 1390, 12:00 عصر
ببین این کلا کد اون صفحه هست.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
this.Hide();
Form2 f = new Form2();
f.ShowDialog();
timer1.Enabled = false;
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
timer1.Enabled = false;
}
}
}

morteza271
شنبه 15 مرداد 1390, 12:08 عصر
رویداد تیک تایمر رو اینطوری بنویسید درست میشه :

timer1.Enabled = false;
this.Hide();
Form2 f = new Form2();
f.ShowDialog();

amir-aa
شنبه 15 مرداد 1390, 12:08 عصر
هیچ جا تو کدم این تایمره استارت نمیشه.

amir-aa
شنبه 15 مرداد 1390, 12:12 عصر
حل شد ممنون