PDA

View Full Version : تغییر رنگ نوشته انتخابی از ListBox



Salar Ashgi
پنج شنبه 10 مرداد 1387, 22:31 عصر
این برنامه برای تغییر رنگ نوشته و انتخاب رنگ از ListBox نوشته شده (CS 2008)

:قلب::لبخندساده:

Mahdi.Kiani
جمعه 11 مرداد 1387, 00:44 صبح
دوست عزیز
1-لطف کنید نمونه برنامه هایی که میگذارید را در قسمت نمونه برنامه های سی شارپ (http://barnamenevis.org/forum/showthread.php?t=64210) بگذارید..

2)نیز کدی که نوشتید بهینه نیست..

تصور کنید اگر در listBox بخواهید تعداد زیادی اسم رنگ قرار دهید.. اون موقع نوشتن کدی شبیه



if (listBox1.SelectedItem.ToString() == "Red")
label1.ForeColor = Color.Red;
else if (listBox1.SelectedItem.ToString() == "Blue")
label1.ForeColor = Color.Blue;
else if (listBox1.SelectedItem.ToString() == "Green")
label1.ForeColor = Color.Green;



که در کدتون وجود داره، اصلا مقرون به صرفه نیست..
----
در ساختار Color در دات نت متدی به نام FromName وجود داره که براتون بر اساس نام رنگی که بهش می دین، یک متغیر از جنس Color بهتون بر می گردونه

3) محل مناسب تر کدتون در رویداد SelectedIndexChanged مربوط به لیست باکستون هست..

با این توصبفات، تبدیل یافته کد شما میشه :



if (listBox1.SelectedIndex != -1)
label1.ForeColor = Color.FromName(listBox1.SelectedItem.ToString());





4) اگر در جایی (کلا) خواستید از if و else ها ی تودر تو استفاده کنید، بهتره از دستور Switch استفاده کنید..

موفق باشید

Salar Ashgi
جمعه 11 مرداد 1387, 08:52 صبح
دوست عزیز
1-لطف کنید نمونه برنامه هایی که میگذارید را در قسمت نمونه برنامه های سی شارپ (http://barnamenevis.org/forum/showthread.php?t=64210) بگذارید..

2)نیز کدی که نوشتید بهینه نیست..

تصور کنید اگر در listBox بخواهید تعداد زیادی اسم رنگ قرار دهید.. اون موقع نوشتن کدی شبیه



if (listBox1.SelectedItem.ToString() == "Red")
label1.ForeColor = Color.Red;
else if (listBox1.SelectedItem.ToString() == "Blue")
label1.ForeColor = Color.Blue;
else if (listBox1.SelectedItem.ToString() == "Green")
label1.ForeColor = Color.Green;



که در کدتون وجود داره، اصلا مقرون به صرفه نیست..
----
در ساختار Color در دات نت متدی به نام FromName وجود داره که براتون بر اساس نام رنگی که بهش می دین، یک متغیر از جنس Color بهتون بر می گردونه

3) محل مناسب تر کدتون در رویداد SelectedIndexChanged مربوط به لیست باکستون هست..

با این توصبفات، تبدیل یافته کد شما میشه :



if (listBox1.SelectedIndex != -1)
label1.ForeColor = Color.FromName(listBox1.SelectedItem.ToString());





4) اگر در جایی (کلا) خواستید از if و else ها ی تودر تو استفاده کنید، بهتره از دستور Switch استفاده کنید..

موفق باشید

================================================== ====
دوست عزیز من این برنامه رو صرفا برای آموزش اولیه گذاشته بودم ، و می دونم که تعداد

رنگ ها زیاد باشه این کد زیاد کارا نیست !!! (در ضمن دستور switch همیشه خوب نیست)

Mahdi.Kiani
جمعه 11 مرداد 1387, 09:15 صبح
سلام

ببین دوست من،
بسیار کار پسندیده ای می کنید که می خواهید، دیگران را هم آموزش دهید ولی ..
1)ایراداتی که در بالا لیست کردم، در برنامتون هست و آموزش دادن به این شکل صحیح نیست..
حداقل می توانستید در قالب Comment هایی، روش های درست اون را که در بالا گفتم را در برنامتون قرار دهید..
2) می تونید اون تغییراتی که گفتم را در برنامتون اعمال کنید و فایل جدید بگذارید..
3) همانطور که گفتم، بهتره نمونه برنامه ها را در بخش مربوط به اون که در پست بالا لینک دادم بگذارید..
4) بهتره که دوستانتون را همواره به سمت تکنولوژی های جدید سوق دهید..(توی پرانتز گذاشته بودید که CS2008 ).. پس حداقل مثالی ارائه می دادید که ارزش نام CS2008 را داشته باشه..

موفق باشید

Salar Ashgi
جمعه 11 مرداد 1387, 09:26 صبح
سلام

ببین دوست من،
بسیار کار پسندیده ای می کنید که می خواهید، دیگران را هم آموزش دهید ولی ..
1)ایراداتی که در بالا لیست کردم، در برنامتون هست و آموزش دادن به این شکل صحیح نیست..
حداقل می توانستید در قالب Comment هایی، روش های درست اون را که در بالا گفتم را در برنامتون قرار دهید..
2) می تونید اون تغییراتی که گفتم را در برنامتون اعمال کنید و فایل جدید بگذارید..
3) همانطور که گفتم، بهتره نمونه برنامه ها را در بخش مربوط به اون که در پست بالا لینک دادم بگذارید..
4) بهتره که دوستانتون را همواره به سمت تکنولوژی های جدید سوق دهید..(توی پرانتز گذاشته بودید که CS2008 ).. پس حداقل مثالی ارائه می دادید که ارزش نام CS2008 را داشته باشه..

موفق باشید

__________________________________________________ ______________

دوست عزیز شما درست می گید ، ولی برنامه نویسی هم نوعی سلیقه ای هستش !!!

بالاخره سلیقه هر کس متفاوته !!! ولی خوب ، از راهنمایی دوستانه شما ممنونم !!!