visual basic 9.0

Click here to load reader

Upload: mahina

Post on 09-Jan-2016

93 views

Category:

Documents


8 download

DESCRIPTION

Visual Basic.net 9.0. 기술연구소. 목차. VB.NET 의 구조 및 실행. VB.NET 코딩 규칙. Value Type 다루기. 문자열. 예외처리. 프로시저 사용하기. 제어 흐름. 객체지향. 클래스의 이해. 클렉션 (Collection). 위임과 이벤트. 인터페이스 (Interface). 상속 (Inherits). 윈도우 컨트롤. VB.NET 의 구조 및 실행. Visual Basic 의 구조. 솔루션 하나 이상의 프로젝트로 구성 프로젝트 - PowerPoint PPT Presentation

TRANSCRIPT

Visual Basic.net 9.02007 08 251Visual Basic .NET

1VB.NET VB.NET Value Type (Collection) (Interface)(Inherits) 2007 08 252Visual Basic .NET

VB.NET 2007 08 253Visual Basic .NET

VB.NET Visual Basic () . , , .

2007 08 254Visual Basic .NET

VB.NET Option : Option Explicit : On, Off . On, . . Option Strict : On, Off . Off. . On . On .

Import : .Option . . : .

Namespace .

Imports CtrlChrs = Microsoft.VisualBasic.ControlChars2007 08 255Visual Basic .NET

VB.NET

Class Structure Module Interface Delegate

Function : . Sub : void Type .Declare : .Operator : , .Property : .

. 2007 08 256Visual Basic .NET

VB.NET Hello

. Sub Main(): .Sub Main(ByVal args() As String): .Function Main() As Integer: .Function Main(ByVal args() As String) As Integer: .

Public Class Hello Public Shared Sub Main(ByVal args() As String) Console.WriteLine("!!!") End SubEnd Class2007 08 257Visual Basic .NET

VB.NET VB.NET ,

()Public Class Hello End Class2007 08 258Visual Basic .NET

VB.NET : Main Main . .NET Framework Main . . (Main, main ) Public, Shared (Module Shared .) .Main Main . Main .

End Application.Exit() Main . . 2007 08 259Visual Basic .NET

VB.NET .NET Framework .

System .NET Framework () .

.

Imports .

System.Console.WriteLine(Hello !!!)Imports SystemConsole.WriteLine(Hello !!!)2007 08 2510Visual Basic .NET

VB.NET : . : , ( 1/0 ):

. (new ) : (CStr), , ( i>40 ) . (new ) : , , , . (new ): . .

2007 08 2511Visual Basic .NET

VB.NET 2007 08 2512Visual Basic .NET

VB.NET . CLS . (Private CLS .) . : FindName .: InitNewRow, ClosingForm, , .(: EmployeeName, Categories) I . , . : Icomponent : IPersistable ([Delegate]) EventHandler . :RowChangedEventHandler . : RowChanging, RowChanged . . : Hypertext Markup Language HTML 32 . .2007 08 2513Visual Basic .NET

VB.NET ( ) .

. . . .

.

VB.NET .

XML () , , , 3 XML .2007 08 2514Visual Basic .NET

VB.NET 1/3(String ) : & . StringBuilder .

.Dim a() As String = {a, b, c} Dim a() As String = New String() {a, b, c} .Dim a() As String Dim a As String() {} .Dim a() As Integer = {1,2,3} Dim a(2) As Integera(0) = 1a(1) = 2a(2) = 32007 08 2515Visual Basic .NET

VB.NET 2/3With : With . For For Each . (1.1 )

Using : Dispose Using IsNot : Not Is Nothing IsNot (2.0 ) . Dim arr As New ArrayLiat() Dim arr As ArrayList = New ArrayList() With .

For count As Integer = 0 To 2 MsgBox(names(count))NextDim log As EventLog()With log .Log = SiS .Source = App Name .MachineName = Computer NameEnd With2007 08 2516Visual Basic .NET

VB.NET 3/3 AddHandler Handles .

.

My .NET Framework Visual Basic My .

AutoSize . . . Tahoma MS Sans Serif .

Private Sub MenuItem1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MenuItem1.ClickPublic Event WhatHappened(ByVal source As Object, _ ByVal e As WhatHappenedEventArgs)2007 08 2517Visual Basic .NET

VB.NET Me, My, MyBase MyClassMe . , , . My , , , . 2005 .

1 My MyBase . . MyClass . Me Me MyClass .

2007 08 2518Visual Basic .NET

Value Type 2007 08 2519Visual Basic .NET

Value Type Type CTS(Type) CTS Value-Type Reference-Type

Value / Reference Value Type . Value Type . Reference Type() Reference Type . Reference Type .2007 08 2520Visual Basic .NET

Value Type Type / Type/ Type Type( Type) System.Object Value Type System.ValueType Object x Type x.GetType().BaseType

Value Value Value Value : Integer, Single, Long Value : Enum, Structure 2007 08 2521Visual Basic .NET

Value Type Value Type

Byte, SByteSystem.Byte, System.SByteShort, UShortSystem.Int16, System.UInt16Integer, UIntegerSystem.Int32, System.UInt32Long, ULongSystem.Int64, System.UInt64CharSystem.CharSingleSystem.SingleDoubleSystem.DoubleBooleanSystem.BooleanDecimalSystem.Decimal2007 08 2522Visual Basic .NET

Value Type : , , () . Dim icnt As IntegerDim obj As Object = New Object()Dim obj As Objectobj = New Object()Dim icnt, jcnt As Integer

: = : +=, -=, *=, /= Dim employeeID As IntegeremployeeID = 23 Dim icnt As Integer = 23Dim cStr As Char = Fc + itemCnt = itemCnt + 40 itemCnt += 40 . ( -=, &=, &*=, /= )2007 08 2523Visual Basic .NET

Value Type : =, Is, IsNot : , >=, >, maxNumber : 1 4 7 9 11 13 maxNumber Case CaseElse Is Is .

2007 08 2545Visual Basic .NET

1/5 : .

2007 08 2546Visual Basic .NET

2/5While True .

Eixt While . Continue While .

While [] [Exit While] []End While . Boolean . condition Nothing False . . While condition True .Exit While . While .End While . While 2007 08 2547Visual Basic .NET

3/5Do Do {While | Until} Loop : (While )Do Loop {While | Until} : 1 Eixt Do . Continue Do .

2007 08 2548Visual Basic .NET

4/5For . . For . . : .

*** Eixt For . Continue For .For fastest As Integer = 0 to 1000000 ' Next fastestFor notAsFast As Long = 0 to 1000000 ' Next notAsFast . 2,147,483,647 . . 2007 08 2549Visual Basic .NET

5/5For Each For Next . For Each . , , . . . . Eixt For . Continue For .2007 08 2550Visual Basic .NET

Using End Using . Using Using . IDispose Using .

With End With . . 2007 08 2551Visual Basic .NET

2007 08 2552Visual Basic .NET

.

.Identity(): . . Behavior(): . State(): . 2007 08 2553Visual Basic .NET

: , . . : . : Private, Protected . : Property . .Public : Public . Private : .Protected : . Friend : . .Protected Friend : . 2007 08 2554Visual Basic .NET

. . , , . .

2007 08 2555Visual Basic .NET

, , :

: . Get Set . . .

: . Sub Function 2007 08 2556Visual Basic .NET

Private .

2007 08 2557Visual Basic .NET

: , . . . . . . . 2007 08 2558Visual Basic .NET

2007 08 2559Visual Basic .NET

.

. . . .

. . . Shared .

2007 08 2560Visual Basic .NET

: New . Sub New() . . . . ??? . Sub New .

: . Sub Finalize . . . Nothing . - ( ). Dispose . 2007 08 2561Visual Basic .NET

IDisposable IDisposable

CLR ( , , ) . .

. , . IDisposable .

(Finalize ) Dispose . Dispose .

2007 08 2562Visual Basic .NET

IDisposable

.

Dispose . Dispose Finalize .

IDisposable.Dispose ( )

Protected disposed As Boolean = FalseProtected Overridable Sub Dispose(ByVal disposing As Boolean) If Not Me.disposed Then If disposing Then ' . End If ' . End If Me.disposed = TrueEnd SubPublic Sub Dispose() Implements IDisposable.Dispose Dispose(True) GC.SuppressFinalize(Me)End Sub2007 08 2563Visual Basic .NET

IDisposable Dispose . Dispose(Boolean) .

Dispose() Finalize() . Protected Overrides Sub Dispose(ByVal disposing As Boolean) If Not Me.disposed Then If disposing Then ' . End If ' . End If MyBase.Dispose(disposing)End Sub2007 08 2564Visual Basic .NET

IDisposable IDisposable .

IDisposable .

2007 08 2565Visual Basic .NET

65 CLR .

. ( .)

VB 6.0 Nothing VB.NET . .2007 08 2566Visual Basic .NET

. . . . : Boolean : Int16 2^16(65536) String 2007 08 2567Visual Basic .NET

: . Get Set . . Get ReadOnly . Set WriteOnly . (c# ) . Default . . Item . (c# . Item . VB Item .) . ( ).Shared Private . , Default .2007 08 2568Visual Basic .NETPublic Class class1 Private myStrings() As String Sub New(ByVal size As Integer) ReDim myStrings(size) End Sub Default Property myProperty(ByVal index As Integer) As String Get Return myStrings(index) End Get Set(ByVal Value As String) myStrings(index) = Value End Set End PropertyEnd Class

(collection)2007 08 2569Visual Basic .NET

(Collection) : .

. . ReDim . . . . . . . Key . System.Collections . System.Collections.Specialized . System.Collections.Generic . .2007 08 2570Visual Basic .NET

(Collection) . .

For Each Next .

Public widgetColl As New System.Collections.Generic.List(Of widget)Public widgetColl As New System.Collections.Generic.List(Of widget)For Each item As Object In widgetColl ' item Next 2007 08 2571Visual Basic .NET

2007 08 2572Visual Basic .NET

1/4 : . . . , Optional, ParamArray . Handlers AddHandler . .

Event . .

Public Event PercentDone(ByVal s As Object, ByVal e As EventArgs)2007 08 2573Visual Basic .NET

2/4 , . RaiseEvent . , , . .

( ) . , , .

. Sub . . 2007 08 2574Visual Basic .NET

3/4 (1) . Handles AddHandler . WithEvents Handles . , . . (1:n, n:1 ) . . Object , . .Structure WithEvents . WithEvents . . 2007 08 2575Visual Basic .NET

4/4 (2)AddHandler RemoveHandler / . AddHandler . AddHandler . AddressOf AddHandler Obj.XEvent, AddressOf Me.XEventHandler . RemoveHandler .AddHandler RemoveHandler Obj.XEvent, AddressOf Me.XEventHandler2007 08 2576Visual Basic .NET

: (Delegate) . hook . . (Type Safe) . ( .).

. . . .

AddressOf : .

.Public Delegate Sub DelegateType()Public Event AnEvent As DelegateType2007 08 2577Visual Basic .NET

(Interface)2007 08 2578Visual Basic .NET

(Interface)"" , . . . . ( ) .Implements .

Interface End Interface . Inherits . Event, Sub, Function, Enum, Property, Interface, Structure, Class . Friend. Public Friend .2007 08 2579Visual Basic .NET

(Interface)Implements Implements Implements Implements . ( , ) . .

Implements Implements . . . Class Class1 Implements interfaceclass.interface2 Sub Sub1(ByVal i As Integer) Implements interfaceclass.interface2.Sub1 End SubEnd Class2007 08 2580Visual Basic .NET

(Interface) . . .

. . ( ) . . . 2007 08 2581Visual Basic .NET

(Inherits)2007 08 2582Visual Basic .NET

(Inherits)/ . ( ) . , , . . System.Object .

Inherits : . . NotInheritable : ( ) . MustInherit : . . . 2007 08 2583Visual Basic .NET

(Inherits) . . Overridable: , . Overrides: Overridable . NotOverridable: . NotOverridable . MustOverride: . . MustOverride MustInherit . 2007 08 2584Visual Basic .NET

(Inherits)MyBase MyClassMyBase . MyBase . MyBase . . MyBase . . MyBase MustOverride .

MyClass . . MyClass . 2007 08 2585Visual Basic .NET

(Inherits) .

"" .

2007 08 2586Visual Basic .NET

(Inherits) 1/2

2007 08 2587Visual Basic .NET

(Inherits) 2/2

2007 08 2588Visual Basic .NET

2007 08 2589Visual Basic .NET

Control 1/4 Control . ( ) . ( ) . BackColor . Button BackColor .Cursor, Font, BackColor, ForeColor, RightToLeft . BeginInvoke, EndInvoke, Invoke, InvokeRequired, CreateGraphics . CreateGraphic .2007 08 2590Visual Basic .NET

Control 2/4 Anchor: .CanFocus: . CanSelect: . Capture: .CausesValidation: . Controls: . Dock: . Size: . TopLevelControl: . . Name: . 2007 08 2591Visual Basic .NET

Control 3/4 CreateControl: .CreateGraphics: Graphics . Focus: . Refresh: . Invalidate: . . Update .Update: . Invalidate . Invalidate(True) Update Refresh . Invalidate Update . BringToFront: z . SendToBack: z .2007 08 2592Visual Basic .NET

Control 4/4 Click: .DoubleClick: . MouseClick: . MouseDoubleClick: .KeyDown: . Validating: . Validated: . 2007 08 2593Visual Basic .NET

ScrollableControl ScrollableControl : . ContainerControl Panel . . 2007 08 2594Visual Basic .NET

ScrollableControl Panel . Enable False Panel Enable False .

ContainerControl . . Tab . UserControl, Form .2007 08 2595Visual Basic .NET

ContainerControl UserControl . UI .

Form ( ) . , , , . MDI( ) MDI . (IsMdiContailner = True ) : ShowDialog : Show Close .2007 08 2596Visual Basic .NET