حالا راستی چرا وقتی تو ی متد button3_Click نوشتم جواب نمیداد ولی وقتی به عنوان فیلد کلاس نوشتم جواب داد؟
طول عمر فیلدها به اندازه طول عمر استفاده از یک کلاس است.
طول عمر یک متغیری که در یک متد تعریف میشه، به اندازه طول عمر همان متد است، یعنی با پایان دستورات متد، متغیر نابود میشه و به طبع اطلاعاتش هم از بین میره.
حالا اگه بخوام بر عکس این رو داشته باشم برای یک مسابقه که مدت داره و این مدت رو من سیستم تعیین میکنم نه هر زمان که کاربر خواست طول بده
برای برعکس این حالت، باید زمان کل از زمانی سپری شده کم بشه یا یک واحد همینطوری ازش کم بشه، مثلا برای trackBar1، قبلش یک طول حداکثر را براش مشخص میکنیم و مقدار فعلی Scroll را روی حداکثر تنظیم میکنیم:
trackBar1.Maximum = 100;
trackBar1.Value = 100;
بعد باید کد زیر رو در رویداد Tick از کنترل timer1 بنویسم تا هر بار که یک ثانیه میگذره (Interval = 1000)، اون وقت trackBar1 مقدارش عوض بشه تا کاربر متوجه بشه که چقدر مهلت داره تا به سوال پاسخ بده، یعنی مینویسیم:
private void timer1_Tick(object sender, EventArgs e)
{
if (trackBar1.Value != 0)
trackBar1.Value--;
}
همین... نمیدونم منظورت همین بود یا چیز دیگه...