.NET Framework
Formas VB
Buscar..
Hola Mundo en Formas VB.NET
Para mostrar un cuadro de mensaje cuando se ha mostrado el formulario:
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 () se llamará primero, y solo una vez, cuando se carga el formulario por primera vez. Se llamará a Show () cada vez que el usuario inicie el formulario. Activate () se llamará cada vez que el usuario active el formulario.
Load () se ejecutará antes de llamar a Show (), pero tenga cuidado: llamar a msgBox () en show puede hacer que se ejecute msgBox () antes de que finalice Load (). En general, es una mala idea depender del orden de los eventos entre Load (), Show () y similares.
Para principiantes
Algunas cosas que todos los principiantes deben saber / hacer que les ayudarán a tener un buen comienzo con VB .Net:
Establece las siguientes opciones:
'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
Utilice &, no + para la concatenación de cadenas. Las cuerdas deben estudiarse con cierto detalle ya que son ampliamente utilizadas.
Dedica algo de tiempo a entender los tipos de valor y referencia .
Nunca utilice Application.DoEvents . Preste atención a la 'Precaución'. Cuando llegue a un punto en el que esto parezca algo que debe usar, pregunte.
La documentación es tu amiga.
Temporizador de formularios
El componente Windows.Forms.Timer se puede usar para proporcionar información de usuario que no es crítica en el tiempo. Cree un formulario con un botón, una etiqueta y un componente de temporizador.
Por ejemplo, podría utilizarse para mostrar al usuario la hora del día periódicamente.
'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
Pero este temporizador no es adecuado para la temporización. Un ejemplo lo estaría usando para una cuenta atrás. En este ejemplo simularemos una cuenta regresiva a tres minutos. Este puede muy bien ser uno de los ejemplos más aburridos importantes aquí.
'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
Después de hacer clic en el botón 1, pasan aproximadamente tres minutos y label1 muestra los resultados. ¿Label1 muestra 180? Probablemente no. ¡En mi máquina mostraba 182.5!
El motivo de la discrepancia se encuentra en la documentación, "El componente de Windows Forms Timer es de un solo hilo y está limitado a una precisión de 55 milisegundos". Esta es la razón por la que no debe utilizarse para la sincronización.
Al usar el temporizador y el cronómetro de manera un poco diferente, podemos obtener mejores resultados.
'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
Hay otros temporizadores que pueden usarse según sea necesario. Esta búsqueda debería ayudar en ese sentido.