صفحه اصلی / دوره‌های آموزشی / آموزش ویندوز فرم سی شارپ، مقدماتی / کنترل کامبوباکس-combobox

کنترل کامبوباکس-combobox

کنترل کامبوباکس-combobox
براي خريد اين درس نياز است وارد سايت شويد. در صورت نداشتن حساب کاربري عضو شويد.
رایگان

جلسات دوره


          
22 دقیقه
رایگان
           
مهدی احمدی
مدرس:

مهدی احمدی

از سال 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 قرار دهید گزینه ها به صورت سعودی مرتب میشوند.

رویدادها:
اکثر رویدادها را بررسی کرده‌ایم که رویداد پیش‌فرض ComboBox، SelectedIndexChanged است
 
مثال :
میخواهیم یک برنامه‌ای بنویسیم که تاریخ تولد کاربر و تاریخ فعلی را از کاربر بگیرد و سن کاربر را مشخص کند.
برای این کار سه ComboBox در یک  GroupBox به فرم اضافه میکنیم که روز، ماه و سال فعلی را از کاربر بگیرد.
نام یه سه ComboBox یه صورت زیر است:
•    روز تولد       comday
•    ماه فعلی   commonth
•    سال فعلی   comyear
برای تاریخ تولد کاربر، به همین صورت کار سه textbox  در یک GroupBox قرار میدهیم که نام های آنها به صورت زیر است.
•    روز تولد  comdaytav
•    ماه تولد commonthtav
•    سال تولد comyeartav

بعد از قرار دادن textbox  تاریخ تولد و تاریخ فعلی سه textbox دیگر قرار میدهیم که بعد از محاسبه، جواب‌ها را در این textbox نمایش دهیم.
نام textbox  :
•    تعداد روز txtday
•    تعداد ماه txtmonth
•    تعداد سال txtyear
یک دکمه هم قرار میدهیم تا با کلیک کردن بر روی آن عملیات را محاسبه کند و در سه کادر متن آخر نمایش دهد.

کامبوباکس در windowsform
کد نویسی ما این است که روز، ماه و سال را از کاربر میگیریم به عدد تبدیل میکنیم و هر کدام را در یک متغییر جداگانه قرار میدهیم تا هر دو روز و هر دو ماه و هر دو سال را از هم کم کنیم. و شرط هایمان را قرار میدهیم که اگر روز منفی شد یکی از ماه کم کند و سی واحد به روز اضافه کند و اگر ماه منفی شد یکی از سال کم شود و 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();
        }
 

نظرات دانشجویان

نظر شما در تصمیم دیگران اثرگذار است.

لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.
ثبت نام

64