PDA

View Full Version : مبتدی: سوال در مورد timer برای تغییر رنگ کنترل ها



MrsiLeNt
پنج شنبه 26 آبان 1390, 14:27 عصر
سلام. ببخشید اساتید سوالم یه خورده از مبتدی هم این ور تر هست
میخوام تو چند حالت رنگ لیبل در هر ثانیه عوض شه
اول اینکه به صورت تصادفی و تا زمانی که فرم اکتیو هست رنگ لیبل رو عوض کنه
دومی اینکه 10 بار رنگ رو عوض کنه(خودم رنگ رو با کد نویسی از قبل بدم) و بعد از اون رنگ لیبل به حالت استاندارد(None) در بیاد و تایمر استاپ شه

electro_esma
پنج شنبه 26 آبان 1390, 14:45 عصر
با سلام دوست من

شما می تونی رنگ یه لیبل رو این طوری تعیین کنی


this.label2.ForeColor = System.Drawing.Color.DarkRed;

شما باید یه تایمر بنویسی توش هربار یه رنگ جدید بهش بدی

electro_esma
پنج شنبه 26 آبان 1390, 14:50 عصر
به طور مثال این یه حالتش

شاید بدردت بخوره


privatevoid timer1_Tick(object sender, EventArgs e)
{
switch(s)
{
case 0:
this.label2.ForeColor = System.Drawing.Color.DarkRed;
break;
case 1:
this.label2.ForeColor = System.Drawing.Color.Black;
break;
}
s = s + 1;

}

Pouyan2010
پنج شنبه 26 آبان 1390, 19:28 عصر
کدش اینه:

Color[] _col = new Color[2];
static int i = 0;
private void timer1_Tick(object sender, EventArgs e)
{
_col[0] = Color.Red;
_col[1] = Color.Blue;
label6.BackColor = _col[i];
i++;
if (i == 2)
{
i = 0;

}
}

MrsiLeNt
پنج شنبه 26 آبان 1390, 23:35 عصر
دستت درت نکنه کارکرد این کده . فقط یه توضیح هم میشه بدی لطفا؟
این Static که قبل تعریف متغیر آوردی چیه؟

راستی راجع به سوال دومم دوستان کسی چیزی میدونه؟

electro_esma
پنج شنبه 26 آبان 1390, 23:53 عصر
توی اینجا معنی خاصی نداره یعنی می تونی هم نذاری .

ولی برای بهتر فهمیدن اون یه نگاهی به این بنداز

http://barnamenevis.org/showthread.php?19550-%D8%B3%D9%88%D8%A7%D9%84-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1%D9%87%D8%A7%DB%8C-%D8%A7%D8%B3%D8%AA%D8%A7%D8%AA%DB%8C%DA%A9-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE

و این کد دوست من

http://barnamenevis.org/showthread.php?297898-تفاوت-متد-های-static-و-غیر-static&highlight=static+%DB%8C%D8%B9%D9%86%DB%8C+%DA%86%D B%8C (http://barnamenevis.org/showthread.php?297898-%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D9%85%D8%AA%D8%AF-%D9%87%D8%A7%DB%8C-static-%D9%88-%D8%BA%DB%8C%D8%B1-static&highlight=static+%DB%8C%D8%B9%D9%86%DB%8C+%DA%86%D B%8C)

m2_farzan
جمعه 27 آبان 1390, 11:40 صبح
سلام.

توصیه میکنم این کارو با WPF انجام بدی چون با این روش سرعت برنامت داخل کامپیوتر های ضعیف تر خیلی پایین میاد اما با WPF از منابع خیلی بهتر استفاده میشه. تازه اگه با WPF کار کنی دیگه نیازی به Timer هم نیست و خیلی راحت با دادن رنگ اولیه و ثانویه حتی میتونی رنگ رو حتی به صورت انیمیشنی تغییر بدی.