introduction to visual basickabulcs.weebly.com/uploads/5/0/3/5/5035021/chapter_3_-_gui.pdf · by:...
TRANSCRIPT
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 20071
Visual Basic .NET
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 20072 GUI
Graphical User InterfaceUser can be graphically work with computer and its programs.Components:
MenuToolbarsIconsControls / Objects such as Buttons, Listbox, Textbox, Labels, etc.
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 20073 Form
ObjectGround for other objectsForm is an object therefore, it has:
Properties, Methods and,Events
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 20074
PropertiesNameBackcolorForecolorControlboxCursorformBorderStyleTextmaximizeBox
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 20075
IconTopmostshowIconRightToleftshowInTaskBarstartPositionAutoScroll
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 20076 Exercises on Form Properties
Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.BackColor = Color.FromArgb(Rnd() * 220, Rnd() * 255, Rnd() * 250)Me.Text = "Kabul University"
Me.ControlBox = FalseMe.ForeColor = Color.BlueVioletMe.Cursor = Cursors.HandMe.AutoScroll = True
End SubEnd Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 20077
(Form Methods)ميتود هاي فورم ميتود ها عبارت از پروگرام هاي . فورم داراي ميتود ها است
فرعي از قبل تهيه شده است که در داخل کالس تعريف گرديده و ميتودها در حقيقت کار . آبجکت هاي همان کالس آنرا استفاده ميکند
.هاي را تعين ميکند که يک آبجکت آنرا انجام داده ميتواند
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 20078
:به پروگرام فرعي ذيل توجه کنيد . اين ميتود فورم را در صفحه نمايش نشان ميدهد : Show ميتودPublic Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.ClickForm2.Show()
End SubEnd Class
:به مثال ذيل توجه نمائيد . اين ميتود فورم را از روی صفحه نمايش مخفی می سازد : Hide ميتودPublic Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.ClickForm2.hide()
End SubEnd Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 20079
(Form Events)حادثات فورم در محيط هاي شي گرا، براي نوشتن پروگرام، روش هاي متعدد وجود
حادثه چه . است(Events)يکي از اين روشها استفاده از حادثات . دارداست؟ حادثه يا رويداد عبارت از يک عمل ميباشد که باالي يک شي يعني
اگر دکمه موس را باالي يک شي مثال دکمه امر . آبجکت اجرا ميشود(Command Button) فشار دهيم حادثه فشار دادن دکمه موس (Click)
. همراي هر حادثه ميتوانيم دستور هاي مشخص را اجرا نمائيم . رخ ميدهد (Events)از اينکه فورم يک آبجکت است پس فورم داراي حادثات
. حادثات عبارت از کارهاي است که باالي فورم انجام شده ميتواند. است.اکثر حادثات فورم توسط موس و يا صفحه کليد انجام ميشود
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200710
اين حادثه وقتي رخ ميدهد که باالی فورم يکبار توسط دکمه موس فشار : Click حادثه :به مثال ذيل توجه کنيد. وارد شود
Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
MessageBox.Show("Form was clicked")Me.BackColor = Color.Green
End Subاين حادثه وقتي رخ ميدهد که باالی فورم دوبار توسط دکمه موس : Dblclick حادثه
.فشار وارد شود Private Sub Form1_DoubleClick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.DoubleClickMe.Text = "You clicked twice"MessageBox.Show("Please click on Ok")
End Sub
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200711
: باز نگرددPassword استفاده گرديده تا يک فورم بدون Loadدر مثال ذيل از حادثه Public class form1Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.LoadDim 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 IfEnd Sub
End Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200712
Public Class Form1Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.LoadDim c As Bytec = 1Dim prog As Object
abc:c = c + 1prog = InputBox("Enter you Password")If prog = "ab@_6s" Then
MessageBox.Show("Pssword accepted")Else
MessageBox.Show("Wrong Password")If c < 4 Then
GoTo abcElse
Me.Enabled = FalseEnd If
End IfEnd Sub
End Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200713
:Closeحادثه Private Sub Form1_FormClosing(ByVal sender As
Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If textBox1.Text = "" ThenMessageBox.Show("You must enter a name.",
"Name Entry Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End IfEnd Sub
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200714 TextBox
TextBoxUse for:
Entering data;Displaying results;
PropertiesNameTextLocationRightToLeft
MultiLinePasswordCharReadOnlyEnabledAnchorVisibleAutoCompleteCustomSourceAutoCompleteModeAutoCompleteSourceTabIndexTabStop
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200715 Label
This control is used to display the output / results.The output is not editable.Properties: there are many common properties between label and textBox controls. Here are some of its properties:
AutoSizeTextAlignDataBindingUseWaitCursorImageAllowDrop
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200716 Button
This control is used for running codes.Button1.ForeColor = Color.BlueButton1.BackColor = Color.BrownButton1.Cursor = Cursors.HelpButton1.Enabled = FalseButton1.Visible = False
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200717
Here are some examples for Form, TextBox, Label, and Button Controls:
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200718
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200719
Public Class Form1Private 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)
TextBox5.Text = Val(TextBox4.Text) / 3TextBox4.ReadOnly = TrueTextBox5.ReadOnly = True
End SubEnd Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200720
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
TextBox2.Text = DateTime.TodayTextBox3.Text = DateTime.NowTextBox4.Text = DateTime.Weekday(Today)TextBox5.Text = DateTime.WeekdayName(5)TextBox6.Text =
DateTime.WeekdayName(Weekday(Today))TextBox7.Text = Date.DaysInMonth(2000, 8)
End Sub
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200721 InputBoxتابع
را به فارمت يک باکس مکالماتي ) تعين شده از قبل( اين تابع پيغام معين (Dialog Box) در روی صفحه نمايش نشان داده و برای ورودی اطالعات
.اطالعات داخل شده ميتواند قيمت متحول باشد . انتظار ميکشدuserتوسط :شکل عمومی اين تابع در ويژول بسيک قرار ذيل است
Public Function InputBox ( ByVal Prompt As String, _ Optional ByVal Title As String = "", _ Optional ByValDefaultResponse As String = "", _ Optional ByVal XposAs Integer = -1, _ Optional ByVal YPos As Integer = -1 ) As String
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200722 ()MessageBox.Showتابع
ک اين تابع نيز پيغام را روی صفحهء نمايش نشان داده و به کليک کردن ي اين تابع عدد تامی را برگشت ميدهد که همان عدد نشان . دکمه انتظار ميکشد
.دهندهء دکمهء کليک شده است Public Class Form1Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.LoadMessageBox.Show("This method is used to display" & Chr(13)
& "messages on the screen")End SubEnd Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200723
. را مشاهده نمائيد MessageBos.show و InputBoxدر مثال ذيل طرز کار توابع : نوتPublic class form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.ClickDim prog As Stringprog = InputBox("Select program to run (Excel / Word / Access / Calculator)")If prog = "Excel" Then
Shell("c:\program files\microsoft office\office10\excel.exe", AppWinStyle.MaximizedFocus)
ElseIf prog = "Word" ThenShell("c:\program files\microsoft office\office10\winword.exe")
ElseIf prog = "Access" ThenShell("c:\program files\microsoft office\office10\msaccess.exe")
ElseIf prog = "calc" ThenShell("c:\windows\system32\calc.exe")
End IfEnd Sub
End Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200724
Public Class frmclass3Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.ClickDim pass As StringMessageBox.Show("You clicked left button")Me.BackColor = Color.Redpass = InputBox("enter your password")If pass = "class3" Then
Form2.Show()Else
MessageBox.Show("wrong password")End If
End SubEnd Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200725
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
TextBox2.Text = e.KeyCodeTextBox3.Text = e.KeyData.ToStringTextBox4.Text = e.KeyValue.CompareTo(70)TextBox5.Text = Chr(e.KeyValue)TextBox6.Text = e.ShiftTextBox7.Text = e.ControlTextBox8.Text = e.Alt
End Sub
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200726 حادثات صفحه کليد
هر آبجکت ميتواند از . حادثات صفحه کليد وقتي رخ ميدهد که يک کليد ان فشار داده شود .حادثات صفحه کليد استفاده نمايد و آنرا اجرا کند
KeyPressحادثه اين حادثه . باشد128اين حادثه در اثر فشار دادن کليد رخ ميدهد که داراي کود اسکي تا
را تعين Shift، و Alt ،Ctrl مانند (Modifier keys)نميتواند حالت کليدهاي تغير دهنده ت که درصورت محکم گرفتن يک کليد اين حادثه به تکرار واقع ميشود و به سرع . نمايد
. توسط سيستم عامل تعين ميگردد KeyDownحادثه
، Altاين حدثه حالت کليدهاي . اين حادثه وقتي رخ ميدهد که کليد در اول فشار داده شود Ctrl و ،Shift را تعين کرده ميتواند .
KeyUpحادثه اين حدثه حالت . اين حادثه وقتي رخ ميدهد که يک کليد بعد از فشار دادن رها شود
. را تعين کرده ميتواند Shift، و Alt ،Ctrlکليدهاي :حادثات صفحه کليد داراي خصوصيات ذيل ميباشد
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200727
KeyCharخاصيت .اين خاصيت حرف اسکي کليد فشار داده شده را ميدهد
Shift، و Alt ،Controlخاصيتهاي . را ميدهدShift، و Alt ،Ctrlاين خصوصيات حالت کليد هاي
KeyCodeخاصيت يدهاي تغير دهنده اين خاصيت کود اسکي کليد فشار داده شده را بدون معلومات راجع به کل
. را ميدهدKeyDataخاصيت
هاي تغير دهنده اين خاصيت کود اسکي کليد فشار داده شده همراي معلومات راجع به کليد .را ميدهدKeyValueخاصيت Modifiersخاصيت
. نشان ميدهد keyDownاين خاصيت حالت کليد هاي تغير دهنده هنگام حادثه
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200728
Public Class Form4Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.F2 ThenTextBox2.Text = DateAndTime.DateValue(Now)
ElseIf e.KeyCode = Keys.F5 ThenTextBox2.Text = DateAndTime.TimeValue(Now)
End IfEnd SubEnd Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200729
که باالي همين Labelدر مثال ذيل، هر حرف که از صفحه کليد فشار داده شود، در : مثال:فورم است نشان داده ميشود
Public Class Form1Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPressLabel1.Text = "Key pressed: " & e.KeyChar
End SubEnd Class
:مثال ذيل کود اسکي کليد فشار داده شده را نشان ميدهد Public Class Form1Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPressLabel1.Text = "Key pressed: " & Asc(e.KeyChar)
End SubEnd Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200730
.اين حادثه در اثر رها شدن يک کليد رخ ميدهد : Keyup حادثه Public Class Form1Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUpIf e.KeyCode = Keys.F1 Then
Help.ShowPopup(TextBox1, "Enter your first name", New Point(TextBox1.Right, Me.TextBox1.Bottom))
End IfEnd SubEnd Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200731 حادثات موس
هر ابجکت ميتواند اين . حادثات موس هم در اثر فشار دادن دکمه هاي موس رخ ميدهد معلومات راجع به حادثه موس را MouseEventArgsکالس . حادثات را استفاده نمايد
موشر موس، کدام دکمه فشار داده شده است، y و xاين معلومات از قبيل کوردينات . دارد. ده است چند بار دکمه فشار داده شده است، ويا چند بار چرخ موس دوران داده ش
: بعضي حادثات موس قرار ذيل است MouseEnterحادثه
.اين حادثه وقتي رخ ميدهد که موشر موس به ساحه يک آبجکت داخل شود MouseLeaveحادثه
.اين حادثه وقتي رخ ميدهد که موشر موس از ساحه آبجکت خارج شود MouseDownحادثه MouseHoverحادثه
.شد اين حادثه وقتي رخ ميدهد که موشر موس درحالت شنا باالي يک ابجکت با MouseMoveحادثه MouseUpحادثه
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200732
:پروگراو ذيل با استفاده از حادثات موس باالي فورم رسامي ميکند Public Class FrmPainter
Inherits System.Windows.Forms.FormDim shouldPaint As Boolean = FalsePrivate Sub FrmPainter_MouseMove( _
ByVal sender As System.Object, _ByVal e As System.Windows.Forms.MouseEventArgs) _Handles MyBase.MouseMoveIf shouldPaint Then
Dim graphic As Graphics = CreateGraphics()graphic.FillEllipse _
(New SolidBrush(Color.BlueViolet), e.X, e.Y, 4, 4)End If
End Sub
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200733
Private Sub FrmPainter_MouseDown(ByVal sender As Object, _ByVal e As System.Windows.Forms.MouseEventArgs) _Handles MyBase.MouseDownshouldPaint = True
End SubPrivate Sub FrmPainter_MouseUp(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) _Handles MyBase.MouseUpshouldPaint = False
End SubEnd Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200734
Public Class frmpainterInherits System.Windows.Forms.FormDim shouldPaint As Boolean = False
Private Sub frmpainter_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
shouldPaint = TrueDim 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 SubEnd Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200735
Public Class frmpainterInherits System.Windows.Forms.FormDim shouldPaint As Boolean = FalsePrivate Sub frmpainter_MouseDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles Me.MouseDownshouldPaint = True
End SubPrivate Sub frmpainter_MouseMove(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles Me.MouseMoveIf shouldPaint ThenDim 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 SubPrivate Sub frmpainter_MouseUp(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles Me.MouseUpshouldPaint = False
End SubEnd Class
By: Sayed Hassan Adelyar
Introduction to Visual BASIC .NET
VB.N
ET P
RO
GR
AM
MIN
14 May, 200736