کنترل کامبوباکس-combobox
جلسات دوره
11
مدرس:
مهدی احمدی
از سال 1380 برنامه نویسی را شروع کرده و از سال 90 در این زمینه تدریس میکنم .با زبانهای سی پلاس پلاس ، سی ،پاسکال ،VB ، سی شارپ ،اسمبلی، جاوا و .... کار کرده و آنها را تدریس کرده ام.هم اکنون نیز مشغول تدریس در دانشگاه هستم و مدتی است با سایت درسمن همکاری میکنم مشاهده رزومه
کنترل کامبوباکس-combobox
در این جلسه کار با یک کنترلر جدید به نام ComboBox را با هم یاد میگیریم.
ابتدا یک ComboBox از منوی Toolbox به Form اضافه میکنیم .
کار ComboBox دریافت یک فایل متنی از کاربر است که در زمان اجرا کاربر میتواند متن وارد کند،
تفاوت ComboBox با TextBox این است که با یک منوی کشویی ترکیب شده است یعنی اینکه کاربر میتواند متن مورد نیاز را بنویسید و یا از گزینههایی که ما در منوی کشویی در اختیار کاربر قرار دادهایم انتخاب کند.
منوی ComboBox در پیشفرض خالی است و برای اینکه گزینه هایی در این منو قرار دهیم، از ویژگی Items استفاده میکنیم و باید هر گزینه را در یک خط قرار دهیم.
ویژگیها:
اولین بار است که با ویژگی Items روبهرو میشوید که توسط آن میتوانید گزینه هایی به منوی ComboBox اضافه کنید.
MaxLength که در ویژگیهای TextBox وجود دارد در اینجا هم به کار رفته است و تعیین کننده این است که کاربر تا چه اندازه میتواند کارکتر(متن) وارد کند که در پیشفرض کاربر 32767 کارکتر میتواند وارد کند ComboBox در ویژگی DropDownStyle که دارای سه Style مختلف :
• DropDown که حالت پیشفرض ComboBox است.
• Simple که در منو به صورت باز شده در اختیار کاربر قرار دارد.
• در حالت DropDownList کاربر فقط میتواند از گزینههایی که در منو قرار دارد استفاده کند و قابلیت تایپ کردن را ندارد .
در ویژگی DropDownWidht ،کاربر میتواند عرض منوی کشویی را مشخص کند و در حالت پیشفرض به اندازه ComboBox است.
در ویژگی Sorted نحوه قرار گرفتن گزینه های منوی کشویی را مشخص میکنیم و اگر این ویژگی را true قرار دهید گزینه ها به صورت سعودی مرتب میشوند.
اولین بار است که با ویژگی Items روبهرو میشوید که توسط آن میتوانید گزینه هایی به منوی ComboBox اضافه کنید.
MaxLength که در ویژگیهای TextBox وجود دارد در اینجا هم به کار رفته است و تعیین کننده این است که کاربر تا چه اندازه میتواند کارکتر(متن) وارد کند که در پیشفرض کاربر 32767 کارکتر میتواند وارد کند ComboBox در ویژگی DropDownStyle که دارای سه Style مختلف :
• DropDown که حالت پیشفرض ComboBox است.
• Simple که در منو به صورت باز شده در اختیار کاربر قرار دارد.
• در حالت DropDownList کاربر فقط میتواند از گزینههایی که در منو قرار دارد استفاده کند و قابلیت تایپ کردن را ندارد .
در ویژگی DropDownWidht ،کاربر میتواند عرض منوی کشویی را مشخص کند و در حالت پیشفرض به اندازه ComboBox است.
در ویژگی Sorted نحوه قرار گرفتن گزینه های منوی کشویی را مشخص میکنیم و اگر این ویژگی را true قرار دهید گزینه ها به صورت سعودی مرتب میشوند.
رویدادها:
اکثر رویدادها را بررسی کردهایم که رویداد پیشفرض ComboBox، SelectedIndexChanged است
مثال :
میخواهیم یک برنامهای بنویسیم که تاریخ تولد کاربر و تاریخ فعلی را از کاربر بگیرد و سن کاربر را مشخص کند.
برای این کار سه ComboBox در یک GroupBox به فرم اضافه میکنیم که روز، ماه و سال فعلی را از کاربر بگیرد.
نام یه سه ComboBox یه صورت زیر است:
• روز تولد comday
• ماه فعلی commonth
• سال فعلی comyear
برای تاریخ تولد کاربر، به همین صورت کار سه textbox در یک GroupBox قرار میدهیم که نام های آنها به صورت زیر است.
• روز تولد comdaytav
• ماه تولد commonthtav
• سال تولد comyeartav
میخواهیم یک برنامهای بنویسیم که تاریخ تولد کاربر و تاریخ فعلی را از کاربر بگیرد و سن کاربر را مشخص کند.
برای این کار سه ComboBox در یک GroupBox به فرم اضافه میکنیم که روز، ماه و سال فعلی را از کاربر بگیرد.
نام یه سه ComboBox یه صورت زیر است:
• روز تولد comday
• ماه فعلی commonth
• سال فعلی comyear
برای تاریخ تولد کاربر، به همین صورت کار سه textbox در یک GroupBox قرار میدهیم که نام های آنها به صورت زیر است.
• روز تولد comdaytav
• ماه تولد commonthtav
• سال تولد comyeartav
بعد از قرار دادن textbox تاریخ تولد و تاریخ فعلی سه textbox دیگر قرار میدهیم که بعد از محاسبه، جوابها را در این textbox نمایش دهیم.
نام textbox :
• تعداد روز txtday
• تعداد ماه txtmonth
• تعداد سال txtyear
یک دکمه هم قرار میدهیم تا با کلیک کردن بر روی آن عملیات را محاسبه کند و در سه کادر متن آخر نمایش دهد.
کد نویسی ما این است که روز، ماه و سال را از کاربر میگیریم به عدد تبدیل میکنیم و هر کدام را در یک متغییر جداگانه قرار میدهیم تا هر دو روز و هر دو ماه و هر دو سال را از هم کم کنیم. و شرط هایمان را قرار میدهیم که اگر روز منفی شد یکی از ماه کم کند و سی واحد به روز اضافه کند و اگر ماه منفی شد یکی از سال کم شود و 12 واحد به ماه اضافه کند.
private void button1_Click(object sender, EventArgs e)
{
int roztav, mahtav, saltav, emroz, inmah, emsal, roz, mah, sal;
emroz = Convert.ToInt32(comday.Text);
inmah = commonth.SelectedIndex + 1;
emsal = Convert.ToInt32(comyear.Text);
//--------------------------------
roztav = Convert.ToInt32(comdaytav.Text);
mahtav = commonthtav.SelectedIndex + 1;
saltal = Convert.ToInt32(comyeartav.Text);
//--------------------------------
roz = emroz - roztav;
mah = inmah - mahtav;
sal = emsal - saltal;
//--------------------------------
if (roz < 0)
{
mah--;
roz += 30;
}
در آخر متغییر هایی که در آنها تعداد روز، ماه و سال محاسبه شده است در کادر متنی که قرار دادهایم نمایش میدهیم.
txtday.Text = roz.ToString();
txtmonth.Text = mah.ToString();
txtyear.Text = sal.ToString();
}
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.