수색…
VB.NET Forms의 Hello World
양식이 표시된 경우 메시지 상자를 표시하려면 다음과 같이하십시오.
Public Class Form1
Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
MessageBox.Show("Hello, World!")
End Sub
End Class
To show a message box before the form has been shown:
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
MessageBox.Show("Hello, World!")
End Sub
End Class
Load ()가 먼저 호출되고 폼이 처음로드 될 때 한 번만 호출됩니다. Show ()는 사용자가 양식을 시작할 때마다 호출됩니다. Activate ()는 사용자가 양식을 활성화 할 때마다 호출됩니다.
Show ()가 호출되기 전에 Load ()가 실행되지만 경고 메시지가 표시됩니다. show에서 msgBox ()를 호출하면 Load ()가 완료되기 전에 msgBox ()가 실행될 수 있습니다. 일반적으로 Load (), Show () 및 이와 유사한 이벤트 순서에 의존하는 것은 좋지 않습니다.
초보자 용
모든 초보자가 알아야 할 몇 가지 사항은 VB에서 좋은 시작을 갖는 데 도움이 될 것입니다. 닷넷 :
다음 옵션을 설정하십시오.
'can be permanently set
' Tools / Options / Projects and Soluntions / VB Defaults
Option Strict On
Option Explicit On
Option Infer Off
Public Class Form1
End Class
문자열 연결에는 &, +를 사용하지 마십시오. 문자열 은 널리 사용되므로 좀 더 자세하게 연구해야합니다.
가치 및 참조 유형을 이해하는 데 시간을 투자하십시오.
Application.DoEvents를 절대로 사용하지 마십시오. '주의'에 유의하십시오. 너가 사용해야하는 무언가와 같은 지점에 도달하면, 물어 보라.
문서 는 친구입니다.
양식 타이머
Windows.Forms.Timer 구성 요소는 시간이 중요 하지 않은 사용자 정보를 제공하는 데 사용할 수 있습니다. 하나의 단추, 하나의 레이블 및 Timer 구성 요소로 폼을 만듭니다.
예를 들어 사용자에게 주기적으로 시간을 표시하는 데 사용할 수 있습니다.
'can be permanently set
' Tools / Options / Projects and Soluntions / VB Defaults
Option Strict On
Option Explicit On
Option Infer Off
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Button1.Enabled = False
Timer1.Interval = 60 * 1000 'one minute intervals
'start timer
Timer1.Start()
Label1.Text = DateTime.Now.ToLongTimeString
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Label1.Text = DateTime.Now.ToLongTimeString
End Sub
End Class
그러나이 타이머는 타이밍에 적합하지 않습니다. 예를 들어 카운트 다운에 사용하는 것입니다. 이 예에서는 3 분으로 카운트 다운을 시뮬레이션합니다. 이것은 아주 잘 여기에서 가장 지루하게 중요한 예제 중 하나 일 것입니다.
'can be permanently set
' Tools / Options / Projects and Soluntions / VB Defaults
Option Strict On
Option Explicit On
Option Infer Off
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Button1.Enabled = False
ctSecs = 0 'clear count
Timer1.Interval = 1000 'one second in ms.
'start timers
stpw.Reset()
stpw.Start()
Timer1.Start()
End Sub
Dim stpw As New Stopwatch
Dim ctSecs As Integer
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
ctSecs += 1
If ctSecs = 180 Then 'about 2.5 seconds off on my PC!
'stop timing
stpw.Stop()
Timer1.Stop()
'show actual elapsed time
'Is it near 180?
Label1.Text = stpw.Elapsed.TotalSeconds.ToString("n1")
End If
End Sub
End Class
button1을 클릭하면 약 3 분이 지나고 label1이 결과를 표시합니다. label1에 180이 표시됩니까? 아마도 그렇지 않습니다. 내 컴퓨터에서 182.5를 보였다!
불일치의 원인은 "Windows Forms Timer 구성 요소는 단일 스레드이며 55 밀리 초의 정확도로 제한됩니다."라는 설명서에 나와 있습니다. 따라서 타이밍에 사용해서는 안됩니다.
타이머와 스톱워치를 조금씩 다르게 사용하면 더 나은 결과를 얻을 수 있습니다.
'can be permanently set
' Tools / Options / Projects and Soluntions / VB Defaults
Option Strict On
Option Explicit On
Option Infer Off
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Button1.Enabled = False
Timer1.Interval = 100 'one tenth of a second in ms.
'start timers
stpw.Reset()
stpw.Start()
Timer1.Start()
End Sub
Dim stpw As New Stopwatch
Dim threeMinutes As TimeSpan = TimeSpan.FromMinutes(3)
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
If stpw.Elapsed >= threeMinutes Then '0.1 off on my PC!
'stop timing
stpw.Stop()
Timer1.Stop()
'show actual elapsed time
'how close?
Label1.Text = stpw.Elapsed.TotalSeconds.ToString("n1")
End If
End Sub
End Class
필요에 따라 사용할 수있는 다른 타이머가 있습니다. 이 검색 은 도움이 될 것입니다.