فرض کنيد بخواهيم يک ماشين حساب ساده، مطابق آنچه در شکل 7 می‌بينيد،  طراحی کنيم:

يک Label به نام lblDisplay به عنوان نمايشگر ماشين حساب و با Caption برابر مقدار" 0" (زيرا مقدار اوليه ماشين‌حساب‌ها صفر می باشد) در محل خود قرار می دهيم. همچنين يکCommandButtonبه نام cmdequal به عنوان دکمه مساوی" و با Caption برابر "= " نيز در محل مخصوص خود قرار می دهيم.

حال ده عدد Command Botton ديگر با Caption های به ترتيب برابر " 0" تا "9 " را در جای خود قرار می دهيم و سپس نام همه اين ده دکمه را به نام cmdNumber  تغيير می دهيم. در اين صورت همانطور که گفته شد، VB اين ده کنترل را به صورت آرايه کنترلی (Control Array) در نظر خواهد گرفت (به پيغام داده شده با همين مضمون جواب Yes دهيد).

به همين ترتيب چهار CommandButton ديگر را با Captionهای "+ " و "- " و "* " و "/ " و با نام يکسان cmdOprator به عنوان دکمه های چهار عمل اصلی به صورت آرايه کنترلی در محل های خود قرار می دهيم.

حال کافی است در يونيت مربوط به اين فرم، چنين کدنويسی کنيم (توجه داشته باشيد که متغيرهاي x و y و op در سطح فرم (Form Level) تعريف شده اند و لذا مقدار آن در تمام فرم قابل دسترسی خواهد بود) :

                                                                                  Option Explicit       

                                                                           Dim x,y As Integer

                                                                        Dim op As String                            

                              ( Private Sub cmdNumber_Click (Index As Integer

                                                “” =IF lblDisplay = “Ø” then lblDisplay 

                          lblDisplay = lblDisplay + cmdNumber(Index).Caption

                                                                                         End Sub   

                              ( Private Sub cmdOprator_Click (Index As Integer

                                                                         ( x = Val(lblDisplay

                                                      op = cmdOprator(Index).Caption

                                                                            ” lblDisplay = “Ø

                                                                                        End Sub

                                                           () Private Sub cmdEqual_Click 

                                                                         ( y = Val (lblDisplay        

                                                                                 Select Case op

                                                                                        “+” Case

                                                                           lblDisplay = x + y

                                                                                           “-”Case

                                                                            lblDisplay = x - y

                                                                                         “*” Case

                                                                           lblDisplay = x * y

                                                                                          “/” Case

                                                                            lblDisplay = x / y

                                                                                       End Select

                                                                                         End Sub

 

توجه داريد که:

  1. در رويدادهايی که مربوط به آرايه های کنترلی (يعنی cmd Number و cmdoperator ) است، يک پارامتر به نام Index در آن وجود دارد که شماره Index (انديس) کليدی که فشرده شده را برمی‌گرداند. و لذا مثلاً cmdOprator(Index).Caption برابر "+" خواهد بود، اگر کليد + فشرده شود و برابر "- " خواهد بود، اگر کليد – زده شود و ...

  2. مشخصه (Property) پيش فرض برای Labelها Caption است و لذا هر جا lblDisplay ذکر شده است، توسط VB مانند lblDisplay.Caption در نظر گرفته می شود.

  3. توسط دستور Select Case، يک متغير (که نام آن جلوی دستور Select Case نوشته می شود) با مقادير مختلفی (که جلوی دستورات Case بعدی نوشته می شود) چک می شود که اگر برابر هر يک از اين مقادير بود، دستور پس از همان Case اجرا می شود