آخرین های برنامه نویسی

آموزش ویژوال بیسیک، فوکوس

آموزش ویژوال بیسیک، فوکوس

فوکوس یعنی توانایی دریافت ورودی کاربر با ماوس و کیبورد است. وقتی یک آبجکت دارای فوکوس است یعنی آن می تواند...

آموزش #C ، لیست باکس

مجموعه : آموزش #C

c sharp

در این مقاله تمریناتی با لیست باکس خواهیم داشت.

یک پروژه ویندوزی بسازید. من کدها را در باتون امتحان می کنم.

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

یعنی روی فرم، یک لیست باکس قرار دهید. و چندین باتون. همه باتون ها با همان لیست باکس منفرد کار می کنند.

شروع:

اولین کد را در زیر می بیند. این کد را داخل رویداد کلیک اولین باتون قرار دهید:

listBox1.Items.Add("A");

listBox1.Items.Add("C");

listBox1.Items.Add("E");

بعد اجرای چنین برنامه ای ، این نما را خواهیم داشت.

می بینید که یک باتون و یک تکست باکس داریم که من چندین بار ، باتون را با ماوس کلیک کرده ام.

و  به دفعات حروف A و C و E به لیست باکس اضافه شده اند.  همچنین وقتی تعداد آیتم ها زیاد می شود ، اتوماتیک کنار آن اسکرول بار خواهد آمد.

شرح برنامه:

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

متنی اضافه شده. حتما نباید یک حرف باشد. اینجا برای کار شماتیک حروف الفبا اضافه شده.

دومین کد:

کد زیر را در باتون دیگری قرار دهید. یک لیست باکس هم بالای این باتون قرار دهید.

listBox1.Items.Add(textBox1.Text);

شرح کد:
همان که در کد بالا می بینید متن داخل تکست باکس را ، به عنوان یک آیتم به لیست باکس اضافه کرده ایم.
شما با داشتن این تکست باکس و باتون زیر آن توانایی اضافه کردن هر نوشته ای را به لیست باکس خواهید داشت.

نتیجه اجرا:
همان طور که در شکل زیر می بینید، با نوشتن در تکست باکس و کلیک باتون زیر آن آیتم هایی به لیست باکس اضافه شده.
listbox

کد سوم:

listBox1.SelectionMode = SelectionMode.MultiExtended;

listBox1.SetSelected(0, true);

listBox1.SetSelected(2, true);

listBox1.SetSelected(4, true);

شرح کد:
ابتدا در خط اول یعنی این خط:

listBox1.SelectionMode = SelectionMode.MultiExtended;

اجازه حالت چند انتخابی داده شده.
سپس در 3 خط بعدی ، آیتم هایی به حالت انتخاب درآمده.
شماره صفر ، برای اولین آیتم لیست است. و شماره 1 برای دومین آیتم و الی آخر.
کد بالا ، یعنی 4 خط کد را در یک باتون قرار دهید و برنامه را تست کنید.
نتیجه اجرا:
همان طور که در شکل زیر می بینید ، موارد 1 و 3 و 5 انتخاب شده.
.
listbox select
کد چهارم:

for (int x = 0; x < listBox1.Items.Count; x++)

   {

    // Determine if the item is selected.

        if (listBox1.GetSelected(x) == true)

        // Deselect all items that are selected.

        listBox1.SetSelected(x, false);

        else

        // Select all items that are not selected.

       listBox1.SetSelected(x, true);

   }

     // Force the ListBox to scroll back to the top of the list.

     listBox1.TopIndex = 0;

شرح کد:
کاری که در این کد می خواهیم بکنیم ، اینه که تمام آیتم ها را مورد بررسی قرار دهیم.
اینجا مورد بررسی ما ، انتخاب شده بودن است ولی می توان برای هر کار دیگری این بررسی را انجام دهیم.
ساختار کد: یک حلقه داریم که تا زیر listBox1.Items.Count ادامه می یابد. اینکه گفتم تا زیر ، بخاطر علامت کوچکتر است. و علامت کوچکتر مساوی به کار نرفته.

<

<=

علتش را با درک کد قبلی باید بدانید. چون اولین آیتم شماره اش صفر است، آخرین آیتم شماره اش میشه تعداد آیتم ها منهای 1 . برای همینه که علامت کوچکتر به کار رفته و نه علامت کوچکتر مساوی.
ادامه ساختار کد: داخل حلقه for ما از ساختار شرطی استفاده کرده ایم. و در این شرط انتخاب شده مورد بررسی قرار گرفته. قسمت else هم داریم. یعنی وقتی آیتمی انتخاب نشده باشد این قسمت اجرا می شود. هم قسمت if و هم قسمت else یک خط کد است. پس نیاز به آکلاد نیست( می دانید که کامنت جزو کد نیست، پس خطوط کامنت را در نظر نگیرید).
چون درس شرط و حلقه را تازه یاد گرفته اید ، کدهای اینها را بیشتر شرح دادم، بعدا کمتر شرح می دهم.
ادامه ساختارکد: خط زیر:

listBox1.TopIndex = 0;

کارش اینه که اسکرول بار لیست باکس را بالا می کشد. برای تست می توانید این تک خط کد را درون یک باتون منفرد تست کنید.
یعنی ابتدا آنقدر لیست باکس را پر کنید تا اسکرول بار ظاهر شود و بعد اسکرول بار را پایین ببرید و بعد با زدن باتون مفروض ، کد فوق را اجرا کنید.
در کد زیر:

listBox1.GetSelected(x) == true

علامت == برای بررسی تساوی است. این علامت با = که برای نسبت دادن مقداری است فرق دارد. اولی هیچ تغییری در محتوا نمی دهد ولی دومی محتوا را عوض می کند. مثلا x==1 بررسی این است که آیا x برابر 1 هست یا نه و مقدار x هیچ تغییری نمی کند. در شرط ها از == استفاد ه می شود نه = پس مراقب باشید.
.
نتیجه اجرا:
برای دیدن نتیجه اجرا ابتدا با استفاده از تکست باکس و باتون زیر آن ، لیست باکس را پر کنید.
سپس با زدن باتون سلکت که کد سوم درونش بود ، آیتم هایی را به حالت انتخاب درآورده
و بعد با باتون invert حالت انتخاب را معکوس بکنید.

.

کد پنجم:
کد زیر را هم می توانید در یک باتون امتحان کنید:

listBox1.SelectionMode = SelectionMode.MultiSimple;

شرح کد:
نوع دیگری از حالت مولتی سلکت است. در حالت قبلی که در کدهای بالا استفاده شد و MultiExtended بود ، با شیفت یا کنترل و ماوس می توانستید آیتم هایی را به حالت انتخاب درآورید ولی در حالت MultiSimple با کلیک های متوالی ماوس یا دکمه اسپیس می توانید به حالت انتخاب یا عدم انتخاب درآورید.
.

برای مشاهده فهرست مقالات و توضیحات راهنما به این تاپیک مراجعه کنید:
آموزش #C – سی شارپ

کاری از: ali_mohammad6
منابع:

http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.selectionmode%28v=vs.71%29.aspx

http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.selectionmode.aspx#Y745

http://msdn.microsoft.com/en-us/library/aa288403%28v=vs.71%29.aspx

فرستادن دیدگاه


عضویت در خبرنامه
  • 1.در صورتیکه تمایل دارید مطالب سایت به ایمیل شما ارسال شود لطفا ایمیل خود را در کادر زیر بنویسید.
  • 2.از ایمیل شما به هیچ عنوان استفاده تبلیغاتی نخواهد شد.
  • 3.هر شب فقط یک ایمیل برای شما ارسال میشود که هیچ گونه تبلیغاتی نداشته و فقط لینک مطالب جدید داخل آن خواهد بود.
  • 5.بعد از ثبت ایمیل کد فعال سازی به ایمیل شما ارسال میشود حتما روی لینک داخل ایمیل کلیک کنید تا ایمیل شما تایید شود
  • 6.در صورتی که ایمیل خود را تایید نکنید مطالب سایت برای شما ارسال نخواهد شد
  • 4.هر زمان که بخواهید فقط با یک کلیک عضویت شما حذف خواهد شد.


آخریـــن هـــای گـــالـــری عـــکـــس