114
Visual Basic .NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic .NET By: S. Hassan Adelyar

Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Embed Size (px)

Citation preview

Page 1: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

1

Visual Basic .NET

By: S. Hassan Adelyar

Page 2: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

2

Object based programming language Object oriented programming language Usage

As a programming language VBA Web Design (ASP.NET) Script files CCE (Control Creation Edition)

By: S. Hassan Adelyar

Visual Basic .NET

Page 3: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

3

Visual Basic .NET BASIC / GW Basic QBasic VB 1 – 1991 VB 6 1998 VB .NET 2000 (V 7) VB .NET 2003 (V 7.1) VB .NET 2005 VB.NET 2008 VB.NET 2010

By: S. Hassan Adelyar

Page 4: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

4

The advancement of programming tools still make the software development more complex.

Writing robust enterprise-level applications is a complex job.

Writing software is difficult, but many other factors make producing good software harder and more complicated.

.NET Framework

By: S. Hassan Adelyar

Page 5: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

5

Windows Inconsistencies At Windows environment we have at least 3

different programming model for producing graphic-intensive applications: GDI DirectX OpenGL

Each model is completely different with other.

By: S. Hassan Adelyar

Page 6: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

6

MS Developed different models for accessing databases. Data Access Object (DAO) Remote Data object (RDO) ActiveX Data Object (ADO)

They are largely incompatible with each other.

By: S. Hassan Adelyar

Page 7: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

7

Windows itself has differences:Windows 95Windows 98Windows MEWindows 2000Windows CEWindows XP

By: S. Hassan Adelyar

Page 8: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

8

Therefore, programming is a difficult job. .NET environment offer programming model

that allows programs created in diversity programming languages to communicate with each other.

By: S. Hassan Adelyar

Page 9: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

9

.NET MS Strategy

The advancement of programming tools and customer electronic devices created many challenges.

Integrating software components from diverse languages proved difficult.

Developers also discovered they needed web-based applications that could be accessed and used via the Internet.

As programmable devices, such as PDA and cell phones, grew in popularity in the late 1990s, the need for these components to interact with others via the internet rose dramatically.

By: S. Hassan Adelyar

Page 10: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

10

As a result of the popularity of mobile electronic devices, software developers realized that their clients were no longer restricted to desktop users. Developers recognized the need for software accessible to anyone from almost any type of device.

To address these needs, micro-soft announced the introduction of the micro-soft.NET strategy in 2000. The .NET platform is one over which web-based applications can be distributed to a variety of devices (such cell phone) and to desktop computers. The .NET platform offers a new programming model that allows programs created in disparate programming languages to communicate with each other.

By: S. Hassan Adelyar

Page 11: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

11

.NET MS Strategy The layer that sits between the language (in this case,Visual Basic) and the

operating system Web-based applications can be distributed to a variety of devices on the net /

Internet. Offer programming model that allows programs created in diversity

programming languages to communicate with each other. Advancement of programming tools and electronic devices create many

challenges. Integrating software components from diverse languages proved difficult. Web-based applications that could be accessed through Internet.

By: S. Hassan Adelyar

Page 12: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

12

.NET Intentions: Interoperability Language Independence Base Class Library Platform Independence

By: S. Hassan Adelyar

Page 13: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

13

DLL Software components When Windows needed a particular features

it loaded only the pieces that was needed. These pieces are called DLL.

By: S. Hassan Adelyar

Page 14: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

14

) پروژه یک نت دات بسیک ویژول در کار . Projectبرای پروژه ) کنید باز را . میتواند پروگرام هر میباشد پروگرام یک های فایل مجموعه از عبارت

. کود حاوی ها فایل این از بعضی باشد فالی چندین ) Code(دارای . میباشد پروگرام ظاهري اشکال حاوی آن دیگر برخی و پروگرام،

  پروگرام همان براي پروگرام هر اجراي از بعد نت دات بسيک ويژول: مينمايد ايجاد را فولدر چند

بنام فولدر حفظ binيک را آن اجزاي و شده اجرا پروگرام آن در کهمينمايد.

فولدرobj به که منابع .Applicationکه مينمايد حفظ آنرا گرديده تخصيص فولدرMyproject . ميکند حفظ را عيارسازي فايلهاي که فورم باالي کار . )Form(درپروژه مي فورم چندين پروژه يک در ميباشد

. . دارای فورم پس است آبجکت يک فورم و باشد داشته وجود تواندها. ) Properties(خصوصيات ميتود دارای فورم . )Methods(است و است

حادثات دارای . )Events(فورم By: S. Hassan Adelyarاست

نت دات بسيک ويژول کاري محيط

Page 15: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

15

ذخيره ديسک در بايد پروژه همان مربوط فورمهاي و )Save(پروژهويندوز. فورم بنام را فورم نت دات بسيک ويژول در Windows(شود

Form(. ميکند ياد . ها مينو صفحه باالي قسمت در است فورم صفحه وسط و )Menus(در

. )Tools(ابزار هاي آبجکت يا و کنترولها صفحه چپ طرف به دارد قرار . ازاين کدام هر ميشود استفاده آن از پروژه در کار اثناي در که اند

. راست طرف در است حادثات و ها ميتود خصوصيات، داراي ها آبجکتخصوصيات شده )Properties(صفحه، داده نشان شده انتخاب آبجکت

خصوصيات. اين از يک هر براي قيمت تعين با ميتوانيد شما و است. دهيد تغير را آبجکت نمايش

By: S. Hassan Adelyar

نت دات بسيک ويژول کاري محيط

Page 16: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

16

GUI کننده استفاده آن کمک به که است ارتباط گرافيکي راه از عبارت . ميکند برقرار ارتباط ها پروگرام با ومرئي گرافيکي شکل به کمپيوتر

GUI مينوها قبيل از مختلف اجزاي ها )Menus(داراي دکمه ،)Buttons( ،متن هاي ها )TextBoxes(باکس ليبل ،)Labels( ،ScrollsBars هاي دکمه ،

باکس )Option Buttons(اختياري کامبو ،)ComboBoxes( ها باکس لست ،)ListBoxes( . اجزاي ميباشد غيره که GUIو است آبجکتهاي حقيقت در

همراي کننده استفاده کليد صفحه يا موس کمک به و آن طريق از . ياد هم ها کنترول بنام را آبجکتها اين ميکند برقرار ارتباط پروگرام

کردن. ايجاد براي فورم GUIميکند . )Form(از فورم ميشود استفادهآن باالي ديگر آبجکتهاي و کنترولها که است ابجکت يا کنترول يک هم

. و دارد وجود ابجکت ها ده نت دات بسيک ويژول در ميشود داده قرار. نمايد ايجاد را جديد آبجکتهاي ميتواند هم پروگرامر

قرار بحث مورد دارد بيشتر استفاده که ابجکتهاي از بعضي دراينجاميدهيم.

By: S. Hassan Adelyar

کننده استفاده گرافيکي ارتباطGraphical User Interface (GUI)

Page 17: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

17

فورم(Form) . هاي پروژه در کار اثناي در است بسيک ويژول مهم آبجکت يک فورم

پروژه در که ديگري هاي آبجکت براي زمين مانند فورم بسيک ويژول . . ميشود داده قرار فورم باالي ها آبجکت ميباشد ميشود، استفاده

فورم پس است، آبجکت يک فورم که شديم يادآور نيز قبال طوريکهخصوصيات میتودها )Properties(داراي ،)Methods( حادثات و ،)Events

دات. بسيک ويژول کاري محيط با آشنائي جهت قسمت اين در استخصوصيات بعضي میتودها )Properties(نت ،)Methods( حادثات و ،

)Events(: نمائيم می مطالعه مثال چند با را  فورم

By: S. Hassan Adelyar

بسيک ويژول آبجکتهاي

Page 18: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

18

. خصوصيات داراي فورم ميکند تعين را آبجکتها نمايش طرز خصوصيات . هاي قيمت فورم خصوصيات ميکند تعين را فورم نمايش طرز که بوده . نمايش متفاوت هاي قيمت اين اثر در ميتواند گرفته خود به را مختلف

. و فورم ديزاين حالت از هم را فورم خصوصيات قيمت ميکند تغير فورم . بعضي قيمت که است تذکر قابل ميتوانيم داده تغير کود از هم

. ميتوانيم داده تغير کود از تنها را خصوصيات 

By: S. Hassan Adelyar

: فورم (Form Properties )خصوصيات

Page 19: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

19

: است ذيل قرار فورم مهم خصوصيات خاصيتName: خاصيت کرده Nameتوسط تعين فورم براي نام ،

. نام. از ميشود شناخته بسيک ويژول در فورم نام همين کمک به ميتوانيم . باشيم خواسته اگر مثال ميشود استفاده بسيک ويژول کود در بيشتر فورم

: نمائيم استفاده بايد فورم نام از دهيم، تغير را فورم يک زمين رنگForm1.BackColor = Color.Red زمين رنگ فوق تبديل Form1براي )BackColor(دستور سرخ رنگ به را

بنام. که فورم خود دستور اين در است، Form1ميکند آبجکت استBackColor و است فورم اين Color.Redخاصيت به که است قيمت

. ( تغير ( را فورم نام تا باشيم خواسته اگر است شده داده متحول خاصيتخاصيت به . Nameدهيم، به را فورم نام ميخواهيم مثال ميدهيم قيمت آن

frmCSF خاصيت به پس نمائيم، قيمت Nameتبديل frmCSFفورمميدهيم.

Form1.Name = frmCSFBy: S. Hassan Adelyar

Page 20: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

20

از را فورم نام فوق . frmCSFبه Form1دستور ميکند تبديليک: نوت قيمت فورم خود داخل از اگر نت دات بسيک ويژول در

از بايد ميدهيم تغير را . )Me(فورم Aliasخاصيت براي کنيم استفاده: نمائيم تايپ ذيل طور بايد آن رنگ دادن تغير

Me.BackColor = Color.Azureخاصيت Backcolor. ميکند: تعين را فورم زمين رنگ خاصيت اينForm1.BackColor = Color.Red  خاصيتBackgroundImage : فورم صفحه براي خاصيت اين توسط

. ميتوانيم کرده انتخاب را تصوير  يک

By: S. Hassan Adelyar

Page 21: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

21

خاصيت Forecolor. ميکند: تعين را فورم متن رنگ خاصيت اين Form1.forecolor = Color.Blue

  خاصيتControlBox :درست قيمت داراي خاصيت و )True(اين. )False(نادرست جهت که کنترولهاي باشد درست آن قيمت اگر ميباشد

فورم نمودن فورم Close( ،Restore(بسته ساختن خورد و فورم کردن)Minimize( . نادرست آن قيمت اگر و ميشود داده نشان )False(است

. نميشود داده نشان کنترولها اين باشد خاصيتCursor. ميکند: تعين آبجکت باالي را موس شکل خاصيت اينخاصيت FormBorderStyle :را فورم چوکات نمايش طرز خاصيت اين

. ميکند تعين

By: S. Hassan Adelyar

Page 22: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

22

خاصيت MinimizeBox :نادرست و درست قيمت ميتواند خاصيت اين . پروگرام اجراي از بعد را فورم باشد درست آن قيمت اگر باشد داشته

. آنصورت در باشد نادرست آن قيمت اگر و نمائيم خورد ميتوانيم هم. نميتوانيم ساخته خورد پروگرام اجراي از بعد را فورم

  خاصيتText . اين: قيمت ميکند تعين را فورم عنوان خاصيت اين. ميشود فورم عنوان ميباشد، متن يک معموال که خاصيت،

خاصيت MaximizeBox :و درست قيمت ميتواند نيز خاصيت اين . اجراي از بعد را فورم باشد درست آن قيمت اگر باشد داشته نادرست

. در باشد نادرست آن قيمت اگر و نمائيم بزرگ ميتوانيم هم پروگرام. نميتوانيم ساخته بزرگ پروگرام اجراي از بعد را فورم آنصورت

  خاصيتIcon : فورم براي خاصيت اين کرده Iconتوسط تعين را.ميتوانيم

 By: S. Hassan Adelyar

Page 23: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

23

  خاصيتTopMost : هروقت فورم باشد درست خاصيت اين قيمت اگر . ميگيرد قرار ديگر آبجکتهاي باالي

خاصيتShowIcon : يا و درست قيمت داراي ميتواند خاصيت اين . باشد درست ان قيمت صورتيکه در باشد نشان Iconنادرست فورم

باشد نادرست اگر و ميشود .Iconداده نميشود داده نشان فورمخاصيت RightToLeft :قيمت ميتواند هم خاصيت يا Trueاين و

False . آن قيمت اگر باشد داشته از Trueرا فورم صفحه در باشد ( اگر ( و ، پشتو ويا دري عربي، متن براي ميشود نوشته چپ به راست

آن متن ( Falseقيمت براي ميگردد نوشته راست طرف به چپ از باشدانگليسي).

Form1.RightToLeft = True خاصيتShowInTaskbar : فورم باشد، درست خاصيت اين قيمت اگر

در اجرا اثناي . Taskbarدر نادرست اگر و ميشود داده نشان ويندوز. نميشود داده نشان By: S. Hassan Adelyarباشد

Page 24: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

24

 خاصيت StartPosition :اثناي در را فورم محل خاصيت اين توسط . ميتوانيم کرده تعين پروگرام اجراي

خاصيت AcceptButton :کليد دادن فشار اثر در که دکمه خاصيت اينEnter. ميکند تعين را شود اجرا کليد صفحه

 خاصيت AutoScroll :منطقي عدم )Boolean(قيمت ويا دادن نشان کهدادن .ScrollBarsنشان ميکند تعين را

خاصيت CancelButton :کليد دادن فشار اثر در که دکمه خاصيت اينEnter. ميکند تعين را شود اجرا کليد صفحه

By: S. Hassan Adelyar

Page 25: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

25

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Me.BackColor = Color.Coral

Me.Text = "Kabul University"

Me.ControlBox = False

Me.ForeColor = Color.BlueViolet

Me.Cursor = Cursors.Hand

Me.AutoScroll = True

End Sub

End Class

By: S. Hassan Adelyar

Page 26: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

26

. از فرعي هاي پروگرام از عبارت ها ميتود است ها ميتود داراي فورمهاي آبجکت و گرديده تعريف کالس داخل در که است شده تهيه قبل . تعين را هاي کار حقيقت در ميتودها ميکند استفاده آنرا کالس همان

. ميتواند داده انجام آنرا آبجکت يک که ميکند: ميباشد ذيل قرار فورم مهم هاي ميتود بعضيميتود Show . به: ميدهد نشان نمايش صفحه در را فورم ميتود اين

: کنيد توجه ذيل فرعي پروگرامPublic Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Form2.Show()

End Sub

End Class By: S. Hassan Adelyar

فورم هاي ( Form Methods)ميتود

Page 27: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

27

ميتود Hide :می مخفی نمايش صفحه روی از را فورم ميتود اين: نمائيد. توجه ذيل مثال به سازد

Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button1.Click Form2.hide() End SubEnd Class 

By: S. Hassan Adelyar

فورم هاي ( Form Methods)ميتود

Page 28: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

28

ميتودLoad :فورم باالي موس دکمه دادن فشار بار دو با میتود این . ميتود ذيل پروگرام ميتواند شده :Loadپروگرام ميدهد نشان را

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.ControlBox = False

End Sub ميتودClose . ميتود: ذيل پروگرام میکند بسته را فورم میتود Loadاین

: ميدهد نشان راPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

Me.Close()

End Sub

By: S. Hassan Adelyar

فورم هاي ( Form Methods)ميتود

Page 29: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

29

وجود متعدد هاي روش پروگرام، نوشتن براي گرا، شي هاي محيط درحادثات. از استفاده روشها اين از يکي . )Events(دارد چه حادثه است

يعني شي يک باالي که ميباشد عمل يک از عبارت رويداد يا حادثه است؟ . امر دکمه باالي را موس دکمه اگر ميشود اجرا Command(آبجکت

Button( موس دکمه دادن فشار حادثه دهيم . )Click(فشار ميدهد رخ . اينکه از نمائيم اجرا را مشخص هاي دستور ميتوانيم حادثه هر همراي

حادثات داراي فورم پس است آبجکت يک . )Events(فورم است . اکثر ميتواند شده انجام فورم باالي که است کارهاي از عبارت حادثات

. ميشود انجام کليد صفحه يا و موس توسط فورم حادثات

By: S. Hassan Adelyar

فورم ( Form Events)حادثات

Page 30: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

30

حادثه Click :توسط يکبار فورم باالی که ميدهد رخ وقتي حادثه اين: . کنيد توجه ذيل مثال به شود وارد فشار موس دکمه

Public Class Form1

Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click

Me.BackColor = Color.FromArgb(Rnd() * 255, Rnd() * 255, Rnd() * 255)

End Sub

End Class

By: S. Hassan Adelyar

Page 31: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

31

حادثه Dblclick :توسط دوبار فورم باالی که ميدهد رخ وقتي حادثه اين. شود وارد فشار موس دکمه

Private Sub Form1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.DoubleClick

Me.Text = "You clicked twice"

MessageBox.Show("Please click on Ok")

End Sub

By: S. Hassan Adelyar

Page 32: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

32

( نشاني يا . (Labelعنوان معموال : میشود برده کار به فورم روی در متن دادن نشان جهت کنترول این . کنترول میشود داده نشان کنترول همين توسط فورم روی در آبجکت Labelعناوین يعني شي يک نيز

. خواص از ديگر قسمتي و بوده فورم مانند آن خواص بعضي است خواص داراي فلهذا آن )Properties(بوده: است ذيل قرار

خاصيتText :محتوي يا . Labelعنوان ميکند حفظ را خاصيتFont :فونتLabel. ميکند تعين را خاصيتBorderStyle : چوکات .Labelنمايش ميکند تعين را خاصيتLocation :گرفتن قرار .Labelمحل ميکند تعين را فورم باالي خاصيتTextAlign: Alignment متنLabel . راست طرف از ميتواند متن ميکند تعين چپ Alignرا ويا باشد

. باشد داشته قرار کنترول يک وسط در هم يا و خاصيتVisible :درست قيمت ميتواند خاصيت نادرست )True(اين . )False(ويا درست آن قيمت اگر باشد

. Labelباشد دهده نشان باشد نادرست اگر و ميشود داده نشان فورم باالي در پروگرام اجراي اثناي درنميشود.

 ( متن کار : (Text boxباکس به ها فورمول اجرای همچنین و متن دادن نشان جهت میتواند کنترول این

. . شود تغیرداده کننده استفاده توسط میتواند میشود، داده نشان کنترول این توسط که متنی شود برده . کنیم استفاده کنترول همین از توانیم می هم محاسبات اجرای جهت

 ( امر . (Buttonدکمه اجرای : جهت معموال میگیرد صورت وسیع استفاده فورم روی در کنترول این Codeاز

. میگردد استفاده کنترول همین از هاBy: S. Hassan Adelyar

Page 33: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

33

مورد آن مثالهاي ارائه با را کنترولها اين استفاده طرز ميخواهيم اکنون . از يک هر پس است آبجکت يک کنترول هر چون دهيم قرار بحث

خصوصيات داراي فوق هاي ها )Properties(کنترول ميتود ،)Methods( ،حادثات . )Events(و است

در: 1مثال که اعداد مجموع ذیل فرعی TextBox1پروگرام ، TextBox2 ،در TextBox3و : TextBox4است میدهد نشان

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

TextBox4.Text = Val(TextBox1.Text) + Val(TextBox2.Text) + Val(TextBox3.Text)

End Sub

By: S. Hassan Adelyar

ازکنترولها استفاده

Page 34: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

34

  در: 2مثال که اعداد اوسط ذیل فرعی TextBox1پروگرام ، TextBox2 ،در TextBox3و :TextBox4است میدهد نشان

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

TextBox5.Text = (Val(TextBox1.Text) + Val(TextBox2.Text) + Val(TextBox3.Text)) / 3

End Sub 

By: S. Hassan Adelyar

ازکنترولها استفاده

Page 35: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

35

   جذر: 3مثال ذیل فرعی در mپروگرام که یافته TextBox2عدد است ،در آنرا میدهد:نشان TextBox3و

Private Sub btntotal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btntotal.Click

Dim m As Integer

m = Val(TextBox1.Text)

TextBox3.Text = Val(TextBox2.Text) ^ (1 / m)

End Sub

By: S. Hassan Adelyar

Page 36: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

36

پروگرامها نوشتن براي نويسي پروگرام لسانهاي از که ميدانيم طوريکه . آن از يا و ميبينيد تان کمپيوتر در شما که پروگرام هر ميشود استفاده . بدون ميشود تهيه نويسي پروگرام لسانهاي کمک به ميکنيد استفادهکرده تهيه را کمپيوتري پروگرامهاي نويسي پروگرام لسانهاي وجود

لسان از بايد باکمپيوتر کار اثناي در و از خنميتوانيم عبارت که کمپيوتر ود . نمائيم استفاده است ويک صفر

کليدي کلمات داراي نويسي پروگرام لسان دستورها، )Key-words(هر ،امالئي قواعد . )Syntax Rules(وهمچنين است پروگرامها نوشتن براي

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

يک فهم و بوده يکسان نويسي پروگرام مختلف لسانهاي در پروگرامها . لسان يک ما اکر من نظر به ميکند کمک ديگر لسان آموختن در لسانلسانهاي ميتوانيم خودما آن از بعد بگيريم ياد بهتر را نويسي پروگرام

. بياموزيم را نويسي پروگرام ديگرBy: S. Hassan Adelyar

نت دات بسیک ویژول در نویسی پروگرام

Page 37: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

37

) نام گرديده مسمي نام يک به که است کمپيوتر ازحافظه قسمتياز) عبارت ميکند، ذخيره پروگرام اجراي اثناي در را ها قيمت و متحول

. ميباشد بتوانیم متحول کرده استفاده را متحول یک اینکه . برای کنيم تعريف آنرا بايد اولدستور توسط را متحول بسیک ویژول میتوانیم تعریف Dimدر .کرده

دستور عمومی :Dimشکل است ذیل قرار Dim متحول متحول As نام نوع

تا یک از میتواند بسیک ویژول در متحول . 255نام کلمات باشد حرفمتحول )Key Words(کلیدی نام حيث به توانیم نمی را بسیک ویژول

. نمائیم استفاده شده تعريف يا و تاريخ منطقي، حروفی، عددی، میتواند متحول نوع

. که را هاي قيمت متحول نوع حقيقت در باشد کننده استفاده توسط . در عددی متحول ميکند تعين آنرا ذخيره طرز و ميتواند گرفته متحول

: میباشد ذیل نوع پنج به بسيک ويژولBy: S. Hassan Adelyar

(Variable)متحول

Page 38: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

38

Byte : تا صفر از عالمه بدون هاي قيمت متحول نوع يک 255اين و گرفته را. ميکند اشغال را کمپيوتر حافظه از بايت

Integer. ميکند: اشغال را کمپيوتر حافظه از بايت چهار متحول نوع اينLong. ميکند: اشغال را کمپيوتر حافظه از بايت هشت متحول نوع اينSingle. ميکند: اشغال را کمپيوتر حافظه از بايت چهار نيز متحول نوع اينDouble. ميکند: اشغال را کمپيوتر حافظه از بايت هشت نيز متحول نوع اين عددی برانواع : Dataعالوه نیزباشد ذیل ازانواع یکی میتواند متحول یک حروفی کلمه: متحول متحول نوع قسمت در حروفی، متحول تعريف برای

:Stringکليدی . کنيد توجه ذيل مثال به مينويسيم راDim stname As string جمع سلسله حروف تعداد به حروفي اشغال 10متحول را حافظه ديگر بايت

سلسله. اگر مثال مينمائيم 15ميکند ذخيره را گرفته 25حرفي حافظه بايتميشود.

 By: S. Hassan Adelyar

Page 39: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

39

( بولی يا منطقي های : (Booleanمتحول قیمت متحول اینوع(Trueدرست( نادرست) . Falseویا قيمت) متحول اينوع میکند ذخیره را

توسط را نادرست قيمت و صفر توسط را . 1-درست ميدهد نشانهم ( عامل سيستم به مربوط نقطه اين البته بايت دو بسيک ويژول

( براي را ميکند فرق ديگر عامل سيستم تا عامل سيستم يک از و است . کرده تعريف ذيل طور را بولي متحول ميگيرد نظر در بولي متحول

ميتوانيم: DIM متحول AS BOOLEAN نام Example: DIM pass AS BOOLEAN

By: S. Hassan Adelyar

Page 40: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

40

مانند: نوت منطقي عملگرهاي از منطقي متحول NOTهمراي ، OR وAND . عملگر مثال ميتوانيم کرده استفاده متحول NOTهم قيمت

: ميدهد تغير آن عکس قيمت به را منطقيPass = NOT pass

: ميگيرد را ذيل دستور چنديدن جاي فوق دستور حقيقت درIF pass = TRUE THEN

Pass = FALSE

ELSE

Pass = TRUE

END IF

By: S. Hassan Adelyar

Page 41: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

41

متحولDate : باشد ووقت تاریخ شکل به که های قیمت متحول اینوع . که خاص فارمت يک به کمپيوتر داخل در وقت و تاريخ میتواند گرفته

. Double-precisionبنام عدد اين تام قسمت ميگردد ذخيره ميشود، ياد . متحول ميکند تمثيل را وقت آن اعشاري قسمت و هشت Dateتاريخ

. از هاي قيمت ميتواند متحول اين ميکند اشغال را حافظه 00:00:00بايتسال جنوري به 1اول سال 11:59:59تا ديسمبر ذخيره 9999ماه را

نمايد.  متحولDate: ميتوانيم کرده تعريف ذيل طور را

DIM متحول AS DATE نام

By: S. Hassan Adelyar

Page 42: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

42

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim stdate As Date

stdate = Date.Now

TextBox1.Text = stdate.Date

TextBox2.Text = stdate.DayOfWeek

TextBox3.Text = stdate.DayOfYear

TextBox4.Text = stdate.Kind

TextBox5.Text = stdate.Month

TextBox6.Text = stdate.Hour

TextBox7.Text = stdate.Year

TextBox8.Text = stdate.Ticks

End Sub

By: S. Hassan Adelyar

Page 43: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

43

آبجکت متحول : های آبجکت میتواند متحول . VBاینوع که حافظه مقدار نماید ذخیره را

. ميکند فرق عامل سيستم به نظر ميشود گرفته آبجکت متحول توسطعامل سيستم عامل 32در سيستم در و بايت چهار بايت 8بيتي 64بيتي

) . مانند نوع هر ریفرنس متحول نوع این ميکند اشغال را Stringحافظه ،Array ، Class . ( نوع وقتیکه میتواند کرده ذخیره را غیره اجرای Dataو اثنای در

. میکنیم استفاده متحول نوع این از نباشد معلوم ما برای پروګرامDim myObject As Object

Dim datTyp As Integer

Dim v As Object

v = "17“

v = v – 15

v = "H" & v By: S. Hassan Adelyar

Page 44: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

44

نوع از عبارت پروگرام Dataثابت اجراي اثناي در ان قيمت که است: . ميتوانيم کرده تعريف ذيل طور را ثابت بسيک ويژول در نميکند تغيرConst pi AS DOUBLE = 3.1415926

: ميباشد ذيل هاي خوبي داراي متحول به نظر ثابت. نميکند تغير آن تعريف از بعد ثابت قيمت تغير آن قيمت پروگرام، هاي قسمت تمام در آن قيمت دادن تغير با

. ميشود ها قيمت تغير در سهولت باعث اينکار و گرديده پراسس کمپيوتر توسط آساني و سرعت به متحول به نظر ثابت

ميشود. . ذیل جدول دهیم تغیر را متحول نوع تا افتد می ضرورت اوقات بعضی

یک VBتوابع از را متحول یک توانیم می آن توسط که ميدهد نشان را: دهیم تغیر دیگر نوع به نوع

By: S. Hassan Adelyar

(Constant)ثابت

Page 45: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

45

CByte Byte Cdate Date Cdbl Double Cint Integer Clng Long CSng Single Cstr String CVar Variant

By: S. Hassan Adelyar

(Constant)ثابت

Page 46: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

46

متحول نوع نمودن دو : امتحان از متحول نوع نمودن معلوم برای : توانیم می کرده استفاده ذیل تابع

VarType( ). میکند: فرق متحول نوع نظربه عدد همان که عددی جوابTypeName( ) : جواب string همان نشان stringکه را متحول نوع

میدهد.Vbinteger 2

Vblong 3

Vbsingle 4

Vbdate 7

Vbstring 8

By: S. Hassan Adelyar

Page 47: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

47

کردن تبديل تابع Valueبه Textبراي کرده Parseاز استفاده همميتوانيم:

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

TextBox3.Text = Integer.Parse(TextBox1.Text) + Integer.Parse(TextBox2.Text)

End Sub

End Class

By: S. Hassan Adelyar

Page 48: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

48

تابع از ميتوانيم هم :CTypeويا کنيم استفادهPublic Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

TextBox3.Text = CType(TextBox1.Text, Integer) + CType(TextBox2.Text, Integer)

End Sub

End Class

By: S. Hassan Adelyar

Page 49: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

49

: ميشود استفاده ذيل های دستور از پروگرام، سطر چند يا يک مشروط اجرای برایIF ……..THEN

IF……...THEN…….ELSE

SELECT……CASE عمومی :IF….THENشکل است ذيل قرار

IF Condition THEN Statement: ميتوانيم کرده استفاده نيز ذيل طور را دستور اين همچنين

IF Condition THEN

Statement(s)

END IF عمومی : IF….THEN…..ELSEشکل است ذيل قرار

IF Condition-1 THEN Statement(s) ELSEIF Condition-2 THEN Statement(s) ………….. ………….. ELSE Statement(s) END IF

By: S. Hassan Adelyar

شرطی های (Conditional Statements)دستور

Page 50: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

50

ذيل های دستور از پروگرام، سطر چند يا يک مشروط اجرای برای: ميشود استفاده

IF ……..THEN

IF……...THEN…….ELSE

SELECT……CASE عمومی :IF….THENشکل است ذيل قرار

IF Condition THEN Statement: ميتوانيم کرده استفاده نيز ذيل طور را دستور اين همچنين

IF Condition THEN

Statement(s)

END IF

By: S. Hassan Adelyar

شرطی های (Conditional Statements)دستور

Page 51: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

51

عمومی : IF….THEN…..ELSEشکل است ذيل قرارIF Condition-1 THEN

Statement(s)

ELSEIF Condition-2 THEN

Statement(s)

…………..

…………..

ELSE

Statement(s)

END IF

By: S. Hassan Adelyar

شرطی های (Conditional Statements)دستور

Page 52: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

52

دستور :IF … THEN …. ELSEمثالهای 1مثال: میکند: محاسبه را نقد پول زکات ذیل فرعی پروگرام

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim money, zakat As Integer

money = InputBox("Enter the amount of money: ")

If money < 200 Then

MessageBox.Show("No Zakat")

Else

zakat = (money - 200) \ 40 + 5

MessageBox.Show("Zakat is: " & zakat)

End If

End Sub By: S. Hassan Adelyar

Page 53: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

53

2مثال: میکند: محاسبه را معاشات مالیه ذیل فرعی پروگرام

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If Val(TextBox1.Text) < 12000 Then

TextBox2.Text = "No Tax"

ElseIf Val(TextBox1.Text) < 20000 Then

TextBox2.Text = Val(TextBox1.Text) * 10 / 100

ElseIf Val(TextBox1.Text) < 30000 Then

TextBox2.Text = Val(TextBox1.Text) * 20 / 100

Else

TextBox2.Text = Val(TextBox1.Text) * 30 / 100

End If

End Sub  

3مثال: میکند: معلوم وی نمرات اوسط به نظر را محصل درجه ذیل فرعی پروگرام Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click avg.Text = (Val(T1.Text) + Val(t2.Text)) / 2 If Val(avg.Text) >= 90 Then grade.Text = "Excellent" grade.BackColor = Color.Green ElseIf Val(avg.Text) >= 80 Then grade.Text = "Very Good" grade.BackColor = Color.Blue ElseIf Val(avg.Text) >= 70 Then grade.Text = "Good" grade.BackColor = Color.Cyan ElseIf Val(avg.Text) >= 60 Then grade.Text = "Pass" grade.BackColor = Color.Yellow Else grade.Text = "Fail" grade.BackColor = Color.Red End If T1.Enabled = False t2.Enabled = False End Sub

By: S. Hassan Adelyar

Page 54: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

54

معادله : 4مثال جذر ذیل فرعی :x+3x^2-10 = 0پروګرام مینماید محاسبه راPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

TextBox1.Text = "X+3x^2-10=0"

Dim x As Single

x = 0

again:

If (x + 3 * x ^ 2 - 10) - 0 >= 0.00001 Then

MessageBox.Show("The value of x is: " & x)

GoTo endprog

Else

x = x + 0.00001

GoTo again

End If

endprog:

End SubBy: S. Hassan Adelyar

Page 55: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

55

5مثال :: میکند محاسبه را دوم درجه معادله های جذر ذیل فرعی پروګرام ' x1, x2 = (-b+|- (b^2-4ac)^0.5)/2a & ' x2 = (-b- (b^2-4ac)^0.5)/2a

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim a, b, c, r, x1, x2 As Single

a = TextBox1.Text

b = TextBox2.Text

c = TextBox3.Text

r = (b ^ 2 - 4 * a * c)

If r < 0 Then

GoTo halt

By: S. Hassan Adelyar

Page 56: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

56

Else

r = r ^ 0.5

End If

x1 = (-b + r) / (2 * a)

x2 = (-b - r) / (2 * a)

MessageBox.Show("The value of x1 & x2 are: " & x1 & "," & x2)

GoTo endprog

halt:

MessageBox.Show("No root for this equation! ")

endprog:

End Sub

By: S. Hassan Adelyar

Page 57: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

57

6مثال: مینماید: ارزیابی را پاسورد ذیل فرعی پروگرام Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load Dim c As Byte c = 1 Dim prog As Object abc: c = c + 1 prog = InputBox("Enter you Password") If prog = "ab@_6s" Then MessageBox.Show("Pssword accepted") Else

By: S. Hassan Adelyar

Page 58: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

58

MessageBox.Show("Wrong Password")

If c < 4 Then

GoTo abc

Else

Me.Enabled = False

End If

End If

End Sub

 

By: S. Hassan Adelyar

Page 59: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

59

7مثال: مینماید: ارزیابی را پاسورد نیز ذیل فرعی پروگرامPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button2.Click

If pass.Text = "abc123" Then

T1.Enabled = True

t2.Enabled = True

Else

MessageBox.Show(" نیست درست شما ("پاسورد

End If

End Sub

By: S. Hassan Adelyar

Page 60: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

60

پیغام: 8مثال ذیل فرعی یا ")Good marning("پروگرام Good("وAfternoon(": میدهد روز وقت به نظر را

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

score.Text = DateAndTime.TimeOfDay

If Hour(DateAndTime.TimeOfDay) < 12 Then

MessageBox.Show("Good marning")

Else

MessageBox.Show("Good Afternoon")

End If

End Sub  

By: S. Hassan Adelyar

Page 61: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

61

9مثال: میکند: ارزیابی را پاسورد نیز ذیل فرعی پروگرامPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button3.Click

Dim pass As String

TextBox1.PasswordChar = "*"

pass = TextBox1.Text

If pass = passstore Then

Me.Close()

Else

MessageBox.Show(" نيست درست شما ("پاسورد

End If

End SubBy: S. Hassan Adelyar

Page 62: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

62

دستور دستور SELECT CASEوظیفه به IF … THEN … ELSEمشابه . که صورت در میشود استفاده شرط چند نمودن تست برای و میباشد

دستور از است بهتر باشد زیاد حاالت استفاده SELECT … CASEتعدادشود.

دستور عمومی :SELECT…..CASEشکل است ذيل قرارSELECT CASE Expression

CASE Value-1

Statement(s)

CASE Value-2

Statement(s)

……..

……..

CASE ELSE

Statement(s)

END SELECT By: S. Hassan Adelyar

SELECT CASEدستور

Page 63: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

63

SELECT CASE Weekday(date)

CASE 1

DayName = “Monday”

CASE 2

DayName = “Saturday”

………

END SELECT

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Select Case TextBox1.Text

Case 1 To 299

TextBox2.Text = TextBox1.Text * 1.5

Case 300 To 599

TextBox2.Text = TextBox1.Text * 3

Case Else

TextBox2.Text = TextBox1.Text * 4

End Select

End Sub By: S. Hassan Adelyar

Page 64: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

64

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Select Case TextBox1.Text

Case 1 To 299

TextBox2.Text = TextBox1.Text * 1.5

Case 300 To 599

TextBox2.Text = 299 * 1.5 + (TextBox1.Text - 299) * 3

Case Else

TextBox2.Text = 299 * 1.5 + 599 * 3 + (TextBox1.Text - 599) * 4

End Select

End Sub

By: S. Hassan Adelyar

Page 65: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

65

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim mydate As Date

mydate = TextBox1.Text

Dim month As Byte

month = mydate.Month

Select Case month

Case 1, 3, 5, 7, 8, 10, 12

MessageBox.Show(" ماه است 31اين روز ")

Case 4, 6, 9, 11

MessageBox.Show(" ماه است 30اين روز ")

Case 2

If mydate.Year Mod 4 = 0 Then

MessageBox.Show(" ماه است 29اين روز ")

Else

MessageBox.Show(" ماه است 28اين روز ")

End If

End Select

End Sub By: S. Hassan Adelyar

Page 66: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

66

پروگرام سطر چند یا يک تکراری اجرای جهت تکرار های دستور از . منظور اين به ذيل های دستور بسيک ويژول در شود می استفاده: ميشود استفاده

FOR……NEXT

DO……..LOOP حلقهFor ….Next: است: ذيل قرار آن عمومي شکل

For variable_name = Initial_value To final_value [Step i]

Statement(s)

Next

By: S. Hassan Adelyar

تکرار (Loop Statements)دستورهای

Page 67: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

67

تکراری DO….LOOPحلقه: ميباشد ذيل عمومی شکل دو دارای حلقه اين

DO WHILE Condition

Statement(s)

LOOP

  DO UNTIL Condition

Statement(s)

LOOP

By: S. Hassan Adelyar

تکرار (Loop Statements)دستورهای

Page 68: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

68

  داخل: نوت جمالت شرط، کردن تست از قبل تا باشيم اگرخواستهحلقه شود، اجرا نويسيم DO…LOOP حلقه می ذيل طور :را

DO

Statement(s)

LOOP WHILE Condition

DO

Statement(s)

LOOP UNTIL Condition

By: S. Hassan Adelyar

تکرار (Loop Statements)دستورهای

Page 69: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

69

پروګرام: میکند محاسبه را عدد یک فکتوریل ذیل Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Button1.Click Dim number As Integer Dim factorial As Double number = InputBox("Enter a number: ") factorial = 1 For i = 1 To number factorial = factorial * i Next MessageBox.Show("Factorial of " & number & " is:" & vbCr & factorial) End Sub  

: نوت –حلقه تکميل از قبل شرط يک شدن تکميل صورت در تا افتد مي ضرورت اوقات … Doويا For …Nextبعضي

While . دستور از اينصورت در شويم : Exitخارج ميتوانيم کرده استفاده 

. لسان- در را ها دستور اين چون ميشود استفاده نويسی پروگرام مختلف موارد در تکراری و شرطی های دستور . دستورها اين فهم ميشود داري خود ان بيشتر شرح از اينجا در فلهذا ايد نموده استفاده نويسي پروگرام مختلف هاي . جهت محصلين ميگردد استفاده زياد نويسي پروگرام اثناي در ها دستور اين همچنين و مهم خيلي نويسي پروگرام در. نماید تمرين بايد را زيادی مثالهای ها، دستور اين خوبتر فهم

By: S. Hassan Adelyar

Page 70: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

70

حلقهFor Each ……Next:. میشود استفاده عددی غیر عناصر در دوران برای حلقه این

  For Each/Next Repetition Structure For each grade in gradeArray If grade < lowgrade then Lowgrade = grade End if Next   Dim abc As TextBox For Each abc In Me.Controls abc.BackColor = Color.Blue Next abc End Sub

  منطقي ANDALSOعملگر

عملگر مانند عملگر عملگر ANDاين با عملگر اين فرق تنها و عملگر ANDALSOبوده که به ANDALSOاينست تنها اوقات بعضي . نهائي نتيجه به منجر شرط يک کردن تست که است صورت در اين ميکند پيدا را نتيجه و نموده اکتفا ها شرط از يکي کردن تست

منطقي. عملگر بنام را عملگر اين سبب همين از :Short-circuitingشود . ميباشد ذيل قرار آن عمومي شکل ميکند ياد نيز 

Result= expression-1 ANDALSO expression-2 متحولresult نوع از و ميکند ذخيره را . Booleanنتيجه ميباشد

By: S. Hassan Adelyar

Page 71: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

71

تابعInputbox ( مکالماتي ( باکس يک فارمت به را قبل از شده تعین معین پیغام تابع صفحه ) Dialog Box(این روی در

توسط اطالعات ورودی برای و داده نشان . userنمایش قیمت میتواند شده داخل اطالعات میکشد انتظار. باشد متحول

: است ذیل قرار بسیک ویژول در تابع این عمومی شکل Public Function InputBox ( ByVal Prompt As String, _ Optional ByVal Title As String = "", _

Optional ByVal DefaultResponse As String = "", _ Optional ByVal Xpos As Integer = -1, _ Optional ByVal YPos As Integer = -1 ) As String  

Prompt . جمله: اين طول ميشود داده نشان باکس در که است جمله از عبارت و بوده اجباري پارامتر اينتا . 1024ميتواند توابع از جمله چندين نوشتن براي باشد کرده chr(10)و chr(13)حرف استفاده نيز

ميتوانيم. Title :عنوان قسمت در که ميباشد جمله از عبارت و بوده اختياري پرامتر نشان )Title Bar(اين باکس

. ميشود داده  

DefaultResponse :شده تعين قبل از قيمت و بوده اختياري نيز پارامتر ميکند )Default(اين تعين .را 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim sum, number, numcount As Integeragain: number = InputBox("Enter a number: ") numcount = numcount + 1 sum = sum + number If numcount < 5 Then GoTo again TextBox1.Text = sum End Sub

By: S. Hassan Adelyar

Page 72: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

72

: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim message, title, defaultValue As String Dimمثال myValue As Object message = "Enter a value between 1 and 3" title = "InputBox Demo" defaultValue = "1 myValue = InputBox(message, title, defaultValue) ' If user has clicked Cancel, set myValue to defaultValue If myValue Is "" Then myValue = defaultValue myValue = InputBox(message, title, defaultValue, 100, 100)

If myValue Is "" Then myValue = defaultValue End SubEnd Class  Public Sub CreateMyForm() Dim mydialog As New Form() Dim button1 As New Button() Dim button2 As New Button() Dim lbldisplay As New Label

button1.Text" = بلی" button1.Location = New Point(10, 50)

button2.Text = "Cancel" button2.Location = New Point(button1.Right + 60, button1.Top)

button1.DialogResult = DialogResult.OK button2.DialogResult = DialogResult.Cancel

lbldisplay.Text = "Do you want to close" ? lbldisplay.Location = New Point(10, 10)

lbldisplay.Size = New Size(120, 20) mydialog.Text = "My Dialog Box"

mydialog.FormBorderStyle = FormBorderStyle.FixedDialog mydialog.AcceptButton = button1 mydialog.CancelButton = button2

mydialog.StartPosition = FormStartPosition.CenterScreen mydialog.Controls.Add(button1) mydialog.Controls.Add(button2) mydialog.Controls.Add(lbldisplay)

mydialog.ShowDialog() If mydialog.DialogResult = DialogResult.OK Then

Me.Close() Else

MessageBox.Show("The Cancel button on the form was clicked.") End If

End Sub

By: S. Hassan Adelyar

Page 73: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

73

تابعMessageBox.Show)( . . است شده کلیک دکمهء دهندهء نشان عدد همان که میدهد برگشت را تامی عدد تابع این میکشد انتظار دکمه یک کردن کلیک به و داده نشان نمایش صفحهء روی را پیغام نیز تابع این

Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("This method is used to display" & Chr(13) & "messages on the screen") End Sub End Class   Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim answer As DialogResult answer = MessageBox.Show("Do you want to close ?", "Dialog Box", MessageBoxButtons.YesNo) If answer = System.Windows.Forms.DialogResult.Yes Then Me.Close() End If End Sub End Class   Private Sub checkstudentname()   If txtname.Text.Length = 0 Then   Dim Message As String = "You did not enter a student name. Cancel this operation?" Dim Caption As String = "No student Name Specified" Dim Buttons As Integer = MessageBoxButtons.YesNo   Dim Result As DialogResult   Result = MessageBox.Show(Me, Message, Caption, MessageBoxButtons.YesNo)   If Result = System.Windows.Forms.DialogResult.Yes Then   Me.Close() End If End If End Sub

By: S. Hassan Adelyar

Page 74: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

74

:توابع کار طرز ذیل مثال در .MessageBos.showو InputBoxنوت نمائيد مشاهده را Public class form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim prog As String prog = InputBox("Select program to run (Excel / Word / Access / Calculator)") If prog = "Excel" Then Shell("c:\program files\microsoft office\office10\excel.exe", AppWinStyle.MaximizedFocu) ElseIf prog = "Word" Then Shell("c:\program files\microsoft office\office10\winword.exe") ElseIf prog = "Access" Then Shell("c:\program files\microsoft office\office10\msaccess.exe") ElseIf prog = "calc" Then Shell("c:\windows\system32\calc.exe") End If End Sub End Class

  حادثه از ذيل مثال بدون Loadدر فورم يک تا گرديده :Passwordاستفاده نگردد باز

  Public class form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim prog As String again: prog = InputBox("Enter your password!") If prog = "er@bt-835" Then MessageBox.Show("Password accepted") Else MessageBox.Show("Wrong password") GoTo again End If End Sub End Class

By: S. Hassan Adelyar

Page 75: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

75

Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim c As Byte c = 1 Dim prog As Object abc: c = c + 1 prog = InputBox("Enter you Password") If prog = "ab@_6s" Then MessageBox.Show("Pssword accepted") Else MessageBox.Show("Wrong Password") If c < 4 Then GoTo abc Else Me.Enabled = False End If End If End Sub End Class By: S. Hassan Adelyar

Page 76: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

76

  حادثهClose:

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms. FormClosingEventArgs) Handles Me.FormClosing

If textBox1.Text = "" Then MessageBox.Show("You must enter a name.", "Name Entry

Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End If End Sub

By: S. Hassan Adelyar

Page 77: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

77

کليد صفحه حادثات. . کند اجرا آنرا و نمايد استفاده کليد صفحه حادثات از ميتواند آبجکت هر شود داده فشار ان کليد يک که ميدهد رخ وقتي کليد صفحه حادثات

  حادثهKeyPress

تا اسکي کود داراي که ميدهد رخ کليد دادن فشار اثر در حادثه . 128اين دهنده تغير کليدهاي حالت نميتواند حادثه اين باشد دشته Altمانند )Modifier keys(را ، Ctrl و ،Shift. . ميگردد تعين عامل سيستم توسط که سرعت به و ميشود واقع تکرار به حادثه اين کليد يک گرفتن محکم درصورت نمايد تعين را

  حادثهKeyDown

. کليدهاي حالت حدثه اين شود داده فشار اول در گليد که ميدهد رخ وقتي حادثه Altاين ، Ctrl و ،Shift . ميتواند کرده تعين را 

حادثهKeyUp . کليدهاي حالت حدثه اين شود رها دادن فشار از بعد کليد يک که ميدهد رخ وقتي حادثه Altاين ، Ctrl و ،Shift . ميتواند کرده تعين را

خاصیت: نوت ننماید دریافت آنرا دیګر کنترولهای و نمائیم محدود فورم به را کلید صفحه حادثات اینکه Trueرا فورم KeyPressحادثه KeyPressEventArgs..::.Handledبراینمائید.

 : ميباشد ذيل خصوصيات داراي کليد صفحه حادثات

خاصيتKeyChar. ميدهد را شده داده فشار کليد اسکي حرف خاصيت اين

  خاصيتهايAlt ، Control و ،Shift

هاي کليد حالت خصوصيات Altاين ، Ctrl و ،Shift. ميدهد را 

خاصيتKeyCode . ميدهد را دهنده تغير کليدهاي به راجع معلومات بدون را را شده داده فشار کليد اسکي کود خاصيت اين

  خاصيتKeyData

. ميدهد را دهنده تغير هاي کليد به راجع معلومات همراي شده داده فشار کليد اسکي کود خاصيت اين 

خاصيتKeyValueBy: S. Hassan Adelyar

Page 78: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

78

: ميدهد نشان را کليد صفحه حادثات ذيل هاي مثال Public Class Form1 Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles

TextBox1.KeyDown TextBox2.Text = e.KeyCode TextBox3.Text = e.KeyData TextBox4.Text = e.KeyValue TextBox5.Text = Chr(e.KeyValue) TextBox6.Text = e.Shift TextBox7.Text = e.Control TextBox8.Text = e.Alt TextBox9.Text = e.GetType.FullName End Sub End Class   Public Class Form4 Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles

TextBox1.KeyDown If e.KeyCode = Keys.F2 Then TextBox2.Text = DateAndTime.DateValue(Now) ElseIf e.KeyCode = Keys.F5 Then TextBox2.Text = DateAndTime.TimeValue(Now) End If End Sub End Class

By: S. Hassan Adelyar

Page 79: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

79

Public Class Form4 Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)

Handles TextBox1.KeyDown TextBox2.Text = DateTime.Today TextBox3.Text = DateTime.Now TextBox4.Text = DateAndTime.Weekday(Today) TextBox5.Text = DateAndTime.WeekdayName(5) TextBox6.Text = DateAndTime.WeekdayName(Weekday(Today)) End Sub End Class   Public Class Form4 Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)

Handles TextBox1.KeyDown TextBox2.Text = Date.DaysInMonth(2000, 8) TextBox3.Text = Date.Now TextBox4.Text = Date.UtcNow TextBox5.Text = Date.MaxValue TextBox6.Text = Date.Today End Sub End Class

By: S. Hassan Adelyar

Page 80: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

80

:در شود، داده فشار کليد صفحه از که حرف هر ذيل، مثال در :Labelمثال ميشود داده نشان است فورم همين باالي که Public Class Form1 Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress Label1.Text = "Key pressed: " & e.KeyChar End Sub End Class

 : ميدهد نشان را شده داده فشار کليد اسکي کود ذيل مثال

Public Class Form1 Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress Label1.Text = "Key pressed: " & Asc(e.KeyChar) End Sub End Class   Public Class Form2 Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles

TextBox1.KeyPress TextBox2.Text = e.KeyChar TextBox3.Text = e.ToString TextBox4.Text = e.GetHashCode TextBox5.Text = Asc(e.KeyChar) End Sub End Class

By: S. Hassan Adelyar

Page 81: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

81

حادثه Keyup. ميدهد: رخ کليد يک شدن رها اثر در حادثه اين Public Class Form1 Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp If e.KeyCode = Keys.F1 Then Help.ShowPopup(TextBox1, "Enter your first name", New Point(TextBox1.Right, Me.TextBox1.Bottom)) End If End Sub End Class

    Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown TextBox2.Text = e.KeyCode TextBox3.Text = e.KeyData.ToString TextBox4.Text = e.KeyValue.ToString End Sub   Private nonNumberEntered As Boolean = False Private Sub textBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles textBox1.KeyDown nonNumberEntered = False If e.KeyCode < Keys.D0 OrElse e.KeyCode > Keys.D9 Then If e.KeyCode < Keys.NumPad0 OrElse e.KeyCode > Keys.NumPad9 Then If e.KeyCode <> Keys.Back Then nonNumberEntered = True End If End If End If End Sub

By: S. Hassan Adelyar

Page 82: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

82

Private Sub textBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs)Handles textBox1.KeyPress

If nonNumberEntered = True Then e.Handled = True End If End Sub End Class   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load Button2.PerformClick() End Sub End Class

By: S. Hassan Adelyar

Page 83: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

83

خاصیت با از کلید KeyCharاستفاده فشاردادن همچنین و بګیریم نمونه پروګرام اجرای اثنای در شده داده فشار کلید از میتوانیم . کود نمودن داخل اثنای در را غیرعددی های کلید فشاردادن خاصیت این توسط میتوانیم مثال دهیم تغیر خاص شرایط غیر ZIPدر

. کنیم تبدیل کالن به را حروف تمام مثال یا سازیم فعال :خاصیت کمک به ذیل مثال در کلید KeyCharمثال آیا که میشود خاصیت Enterدیده قیمت خیر؟ یا و است شده داده Handledفشار

.Trueبه است ګردیده مساوی Imports System Imports System.Windows.Forms Public Class Form1 Inherits Form Public Sub New() Dim tb As New TextBox() Me.Controls.Add(tb) AddHandler tb.KeyPress, AddressOf keypressed End Sub Private Sub keypressed(ByVal o As [Object], ByVal e As KeyPressEventArgs) If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then e.Handled = True End If End Sub Public Shared Sub Main() Application.Run(New Form1()) End Sub End Class

By: S. Hassan Adelyar

Page 84: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

84

موس (Mouse Events)حادثات . . کالس نمايد استفاده را حادثات اين ميتواند ابجکت هر ميدهد رخ موس هاي دکمه دادن فشار اثر در هم موس حادثات

MouseEventArgs . کوردينات قبيل از معلومات اين دارد را موس حادثه به راجع فشار yو xمعلومات دکمه کدام موس، موشر.( موس ( سومي دکمه است شده داده دوران موس چرخ بار چند ويا است، شده داده فشار دکمه بار چند است، شده داده

: است ذيل قرار موس حادثات بعضي 

حادثهMouseEnter. شود داخل آبجکت يک ساحه به موس موشر که ميدهد رخ وقتي حادثه اين

  حادثهMouseMove

  حادثهMouseLeave

. شود خارج آبجکت ساحه از موس موشر که ميدهد رخ وقتي حادثه اين 

حادثهMouseDown 

حادثهMouseWheel حادثهMouseUp

  حادثهMouseHover

. نمایش برای حادثه این از باشد ابجکت يک باالي شنا درحالت موس موشر که ميدهد رخ وقتي حادثه اثنای Tool tipاين در . میشود استفاده کنترول باالی شنای By: S. Hassan Adelyar

Page 85: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

85

: ميکند رسامي فورم باالي موس حادثات از استفاده با ذيل پروگراو   Public Class FrmPainter Inherits System.Windows.Forms.Form Dim shouldPaint As Boolean = False Private Sub FrmPainter_MouseMove( _ ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) _ Handles MyBase.MouseMove If shouldPaint Then Dim graphic As Graphics = CreateGraphics() graphic.FillEllipse _ (New SolidBrush(Color.BlueViolet), e.X, e.Y, 4, 4) End If End Sub Private Sub FrmPainter_MouseDown(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) _ Handles MyBase.MouseDown shouldPaint = True End Sub Private Sub FrmPainter_MouseUp(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) _ Handles MyBase.MouseUp shouldPaint = False End Sub End Class

By: S. Hassan Adelyar

Page 86: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

86

Public Class frmpainter Inherits System.Windows.Forms.Form Dim shouldPaint As Boolean = False Private Sub frmpainter_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown shouldPaint = True Dim graphic As Graphics = CreateGraphics() graphic.DrawRectangle(Pens.Aqua, e.X, e.Y, e.X, e.X) graphic.DrawLine(Pens.Blue, e.X, e.Y, 80, 120) End Sub End Class   Public Class frmpainter Inherits System.Windows.Forms.Form Dim shouldPaint As Boolean = False   Private Sub frmpainter_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown shouldPaint = True End Sub Private Sub frmpainter_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove If shouldPaint Then Dim graphic As Graphics = CreateGraphics() graphic.FillEllipse(New SolidBrush(Color.BlueViolet), e.X, e.Y, 14, 24) graphic.FillRectangle(Brushes.AliceBlue, e.X, e.Y, 12, 12) graphic.DrawRectangle(Pens.Aqua, e.X, e.Y, 100, 100) graphic.DrawRectangle(Pens.Aqua, e.X, e.Y, e.X, e.X) End If End Sub Private Sub frmpainter_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp shouldPaint = False End Sub End Class

By: S. Hassan Adelyar

Page 87: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

87

By: S. Hassan Adelyar

Page 88: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

88

By: S. Hassan Adelyar

Page 89: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

89

By: S. Hassan Adelyar

Page 90: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

90

By: S. Hassan Adelyar

Page 91: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

91

By: S. Hassan Adelyar

Page 92: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

92

By: S. Hassan Adelyar

Page 93: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

93

By: S. Hassan Adelyar

Page 94: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

94

By: S. Hassan Adelyar

Page 95: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

95

By: S. Hassan Adelyar

Page 96: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

96

By: S. Hassan Adelyar

Page 97: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

97

By: S. Hassan Adelyar

Page 98: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

98

Variable Names in computer main memory. Can hold only one value at a time.

Variable declaration: You can use DIM, PRIVATE, PUBLIC, or STATIC keywords. Use DIM inside a procedure. Use DIM or PRIVATE inside a class or module. Use PUBLIC inside a module to create global variable that can be

accessed from the current project. Use STATIC to declare static variables.

DIM var_name,[var_name2,…] AS var_type Var_name can be up to 255 characters and can’t be VB keywords.

Programming in VB.NET

By: S. Hassan Adelyar

Page 99: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

99

Option EXPLICIT OPTION EXPLICIT ON OPTION EXPLICIT OFF

By: S. Hassan Adelyar

Page 100: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

100

Var_type can be: Byte Integer Long Double Single String Boolean Date Object Variant

By: S. Hassan Adelyar

Page 101: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

101

)Constant(ثابت نوع از عبارت اجراي Dataثابت اثناي در ان قيمت که است

. ذيل طور را ثابت بسيک ويژول در نميکند تغير پروگرام: ميتوانيم کرده تعريف

Const pi AS DOUBLE = 3.1415926 داراي متحول به نظر هاي ثابت :خوبي ميباشد ذيل

. نميکند تغير آن تعريف از بعد ثابت قيمت ،پروگرام هاي قسمت تمام در آن قيمت دادن تغير با

تغير در سهولت باعث اينکار و گرديده تغير آن قيمت. ميشود ها قيمت

کمپيوتر توسط آساني و سرعت به متحول به نظر ثابت. ميشود By: S. Hassan Adelyarپراسس

Page 102: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

102

متحول نوع نمودن نوع : امتحان نمودن معلوم برای : توانیم می کرده استفاده ذیل تابع دو از متحول

VarType) ( :متحول نوع نظربه عدد همان که عددی جواب. میکند فرق

TypeName) ( : جواب string همان متحول stringکه نوع. میدهد نشان را

Vbinteger 2 Vblong 3 Vbsingle 4 Vbdate 7 Vbstring 8 By: S. Hassan Adelyar

Page 103: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

103

شرطی های )Conditional Statements(دستور ذيل های دستور از پروگرام، سطر چند يا يک مشروط اجرای برای

: ميشود استفادهIF ……..THEN

IF……...THEN…….ELSE

SELECT……CASE عمومی :IF….THENشکل است ذيل قرار

IF Condition THEN Statement

: ميتوانيم کرده استفاده نيز ذيل طور را دستور اين همچنينIF Condition THEN

Statement(s)

END IF By: S. Hassan Adelyar

Page 104: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

104

عمومی : IF….THEN…..ELSEشکل است ذيل قرارIF Condition-1 THEN

Statement(s)

ELSEIF Condition-2 THEN

Statement(s)

…………..

…………..

ELSE

Statement(s)

END IFBy: S. Hassan Adelyar

Page 105: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

105

دستور عمومی :SELECT…..CASEشکل است ذيل قرارSELECT CASE ExpressionCASEValue-1

Statement(s)CASEValue-2

Statement(s)……..……..CASE ELSE

Statement(s)END SELECT

By: S. Hassan Adelyar

Page 106: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

106

Example:

SELECT CASE Weekday(date)

CASE 1

DayName = “Monday”

CASE 2

DayName = “Saturday”

………

………

END SELECT

By: S. Hassan Adelyar

Page 107: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

107

تکرار )Loop Statements(دستورهای سطر چند یا يک تکراری اجرای جهت تکرار های دستور از

. های دستور بسيک ويژول در شود می استفاده پروگرام: ميشود استفاده منظور اين به ذيل

FOR……NEXT

DO……..LOOP حلقهFor ….Next: است: ذيل قرار آن عمومي شکل

For variable_name = Initial_value To final_value [Step i]

Statement(s)

Next By: S. Hassan Adelyar

Page 108: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

108

Dim demoNum As Single Dim c As Integer Do For i As Integer = 1 To 10000000 demoNum = Int(Rnd() * 100) c = c + 1 Select Case demoNum Case 7 : Exit For Case 29 : Exit Do Case 54 : Exit Sub End Select Next i Loop MsgBox(c)

By: S. Hassan Adelyar

Page 109: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

109

For Each/Next Repetition Structure It can be used for iterating through the values in a data

structure, such as an array. Example:

For each grade in gradeArray

If grade < lowgrade then

Lowgrade = grade

End if

next

By: S. Hassan Adelyar

Page 110: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

110

هاي کنترول فورم باالي که ميکند کار صورت در ذيل فورماز غير :TextBoxديگر نباشد

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim abc As TextBox

For Each abc In Me.Controls

abc.Enabled = False

Next abc

End SubBy: S. Hassan Adelyar

Page 111: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

111

را ها کنترول تمام ذيل :Disableکود ميسازد Private Sub Button1_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles Button1.Click

Dim abc As Object

For Each abc In Me.Controls

abc.enabled = False

Next abc

End Sub

End Class

By: S. Hassan Adelyar

Page 112: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

112

تکراری DO….LOOPحلقه: ميباشد ذيل عمومی شکل دو دارای حلقه اين

DO WHILE Condition

Statement(s)

LOOP

DO UNTIL Condition

Statement(s)

LOOP

By: S. Hassan Adelyar

Page 113: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

113

جمالت: نوت شرط، کردن تست از قبل تا باشيم اگرخواستهحلقه شود، اجرا حلقه می DO…LOOPداخل ذيل طور را

نويسيم:DO

Statement(s)LOOP WHILE ConditionDO

Statement(s)LOOP UNTIL Condition

: نوت –يک شدن تکميل صورت در تا افتد مي ضرورت اوقات بعضي

حلقه تکميل از قبل خارج Do … Whileويا For …Nextشرطدستور. از اينصورت در : Exitشويم ميتوانيم کرده By: S. Hassan Adelyarاستفاده

Page 114: Visual Basic.NET VB.NET PROGRAMMING 10 July 2010 1 Visual Basic.NET By: S. Hassan Adelyar

Visual Basic .NET

VB

.NE

T P

RO

GR

AM

MIN

G10 July 2010

114

While condition

[ statements ]

[ Exit While ]

[ statements ]

End While

Dim counter As Integer = 0

While counter < 20

counter += 1

End While

MsgBox("While loop ran " & counter)

By: S. Hassan Adelyar