Actualizado el 21 de Marzo del 2018 (Publicado el 7 de Marzo del 2018)
828 visualizaciones desde el 7 de Marzo del 2018
237,5 KB
26 paginas
Creado hace 17a (02/11/2006)
Programación con
Visual Basic .NET
http://alarcos.inf-cr.uclm.es/per/fruiz/cur/vbn/vbn.htm
4 – Interfaz de Usuario. Entrada/Salida.
Desarrollo de una aplicación
Francisco Ruiz
Manuel Serrano
Escuela Superior de Informática
Universidad de Castilla-La Mancha
Programación con Visual Basic .NET
Contenidos sesión 4
• Interfaz de Usuario
(cid:132) Formularios.
(cid:132) Controles.
(cid:132) Menús.
(cid:132) Formularios MDI.
• Archivos.
• Acceso a datos. ADO.NET
• Desarrollo de una aplicación.
UCLM-ESI. Programación con Visual Basic .NET
3. 2
(cid:132)1
Formularios.
Creación de un formulario (i).
• System.Windows.Forms
• Clase Form
(cid:132) Size
(cid:132) Location / StartPosition(Manual)
(cid:132) BackgroundImage
(cid:132) Icon
(cid:132) MaximizeBox
(cid:132) FormBorderStyle
(cid:132) Text
(cid:132) (Name) --error
UCLM-ESI. Programación con Visual Basic .NET
3. 3
Formularios.
Creación de un formulario (ii).
• Ver->Código (F7)
UCLM-ESI. Programación con Visual Basic .NET
3. 4
(cid:132)2
Formularios.
Eventos del formulario.
Private Sub frmEjemplo_MouseMove(ByVal sender As Object, ByVal _
e As System.Windows.Forms.MouseEventArgs) Handles _
MyBase.MouseMove
Me.Text = "Coordenadas ratón: X:" & e.X & " Y:" & e.Y
End Sub
Private Sub frmEjemplo_Closing(ByVal sender As Object, ByVal _
e As System.ComponentModel.CancelEventArgs) Handles _
MyBase.Closing
If MessageBox.Show("¿Cerrar la ventana?", _
"Atención", MessageBoxButtons.YesNo, _
MessageBoxIcon.Hand) = DialogResult.No Then
e.Cancel = True
End If
End Sub
UCLM-ESI. Programación con Visual Basic .NET
3. 5
Controles.
Insertar controles en un formulario.
• Cuadro de herramientas.
• Clic sobre el control (selección).
• Doble clic / <Intro> (inserción).
• GridSize / SnapToGrid / DrawGrid
• Herramientas->Opciones->Diseñador de Windows Forms
• Formato (Alinear, Igualar tamaño, Bloquear controles…)
• Anchor
• Dock
UCLM-ESI. Programación con Visual Basic .NET
3. 6
(cid:132)3
Controles.
Controles más habituales.
• Button
• Label
• TextBox
• ListBox
• ComboBox
• CheckBox
• RadioButton
• GroupBox
UCLM-ESI. Programación con Visual Basic .NET
3. 7
Controles.
Controles más habituales. Button.
• Text
• TextAlign
• BackColor
• Cursor
• Image
• ImageAlign
• BackgroundImage
• FlatStyle
• Font
Name: btnMensaje
Text: Mostrar Mensaje
btnMensaje_Click
MessageBox.Show(“Has pulsado
el botón del formulario”)
btnMensaje_MouseEnter
Me.btnMensaje.BackColor = Color.Cyan
btnMensaje_MouseLeave
Me.btnMensaje.ResetBackColor()
UCLM-ESI. Programación con Visual Basic .NET
3. 8
(cid:132)4
Controles.
Controles más habituales. Label.
• BorderStyle
UCLM-ESI. Programación con Visual Basic .NET
3. 9
Controles.
Controles más habituales. TextBox (i).
• Text
• Multiline
• WordWrap
• Enabled
• ReadOnly
• CharacterCasing
• MaxLength
• PasswordChar
• AutoSize
UCLM-ESI. Programación con Visual Basic .NET
3. 10
(cid:132)5
Controles.
Controles más habituales. TextBox (ii).
btnFoco_Click:
Me.txtNombre.Focus()
btnSoloLectura_Click:
If (Me.txtNombre.ReadOnly) Then
Else
End If
Me.txtNombre.ReadOnly = False
Me.txtNombre.ReadOnly = True
btnActivar_Click:
Me.txtApellidos.Enabled =
Not (Me.txtApellidos.Enabled)
• TabIndex (Ver->Orden de tabulación) / TabStop
UCLM-ESI. Programación con Visual Basic .NET
3. 11
Controles.
Controles más habituales. TextBox (iii).
• Copiar/Cortar/Pegar -> transparente al usuario
(cid:132) SelectionStart
(cid:132) SelectionLength
(cid:132) SelectedText
UCLM-ESI. Programación con Visual Basic .NET
3. 12
(cid:132)6
Controles.
Controles más habituales. TextBox (iv).
txtOrigen_TextChanged:
Me.lblContador.Text =
Me.txtOrigen.TextLength
txtOrigen_MouseMove:
If e.Button.Left Then
Me.lblTextoSelec.Text = Me.txtOrigen.SelectedText
Me.lblLongitud.Text = Me.txtOrigen.SelectionLength
Me.lblPosicion.Text = Me.txtOrigen.SelectionStart
End If
txtOrigen_KeyDown:
If e.Shift Then
'flecha derecha
If e.KeyCode.Right Then
…
End If
'mayúsculas
End If
btnSeleccionar_Click:
Me.txtPosicion.Text =
Me.txtLongitud.Text =
Me.txtOrigen.SelectionStart
Me.txtOrigen.SelectionLength
Me.txtDestino.Text =
Me.txtOrigen.SelectedText
UCLM-ESI. Programación con Visual Basic .NET
3. 13
Controles.
Controles más habituales. RadioButton y GroupBox.
rbtTahoma_CheckedChanged:
Me.txtNombre.Font = New Font(“Tahoma”, 12)
rbtGaramond_CheckedChanged:
Me.txtNombre.Font = New Font(“Garamond”, 8)
rbtComic_CheckedChanged:
Me.txtNombre.Font = New Font(“Comic Sans MS”, 12)
rbtVerde_CheckedChanged:
Me.txtNombre.BackColor = Color.Green
rbtAzul_CheckedChanged:
Me.txtNombre.BackColor = Color.Blue
rbtAmarillo_CheckedChanged:
Me.txtNombre.BackColor = Color.Yellow
UCLM-ESI. Programación con Visual Basic .NET
3. 14
(cid:132)7
Controles.
Controles más habituales. ListBox (i).
• Items
• Sorted
• IntegralHeight
• MultiColumn
• SelectionMode
• SelectedItem
• SelectedItems
• SelectedIndex
UCLM-ESI. Programación con Visual Basic .NET
3. 15
Controles.
Controles más habituales. ListBox (ii).
UCLM-ESI. Programación con Visual Basic .NET
3. 16
(cid:132)8
Controles.
Controles más habituales. ListBox (iii).
Public Const TITULO As String = "Elemento seleccionado: "
lstValores_SelectedIndexChanged:
Me.Text = TITULO & Me.lstValores.SelectedItem
rbtUno_CheckedChanged:
Me.lstValores.SelectionMode = Selection.One
rbtMultiple_CheckedChanged:
Me.lstValores.SelectionMode = Selection.MultiSimple
rbtExtendida_CheckedChanged:
Me.lstValores.SelectionMode = Selection.MultiExtended
chkOrdenar_CheckedChanged:
Me.lstValores.Sorted = Me.chkOrdenar.Checked
chkColumnas_CheckedChanged:
Me.lstValores.MultiColumn = Me.chkColumnas.Checked
UCLM-ESI. Programación con Visual Basic .NET
3. 17
Controles.
Controles más habituales. ListBox (iv).
btnAgregar_Click:
btnBuscar_Click:
Me.lstValores.Items.Add(Me.txtValor.Text)
Dim iPosicion As Integer
' el método FindString() de la lista busca un valor
iPosicion = Me.lstValores.FindString(Me.txtValor.Text)
' el campo NoMatches indica si no existe el valor buscado
If iPosicion = Me.lstValores.NoMatches Then
MessageBox.Show("No existe el valor")
' si encontramos el valor en la lista,
' lo seleccionamos por código
Me.lstValores.SelectedIndex = iPosicion
Else
End If
UCLM-ESI. Programación con Visual Basic .NET
3. 18
(cid:132)9
Controles.
Controles más habituales. ListBox (v).
btnSelecCod_Click:
btnTraspasarSelec_Click:
Me.rbtMultiple.Checked = True
Me.lstValores.SetSelected(1, True)
Me.lstValores.SetSelected(3, True)
Me.lstValores.SetSelected(5, True)
Dim oSeleccion As ListBox.SelectedObjectCollection
' obtenemos con los elementos seleccionados del ListBox
oSeleccion = Me.lstValores.SelectedItems
' si hay elementos seleccionados, los traspasamos a otro ListBox
If oSeleccion.Count > 0 Then
Dim oEnumerador As IEnumerator
oEnumerador = oSeleccion.GetEnumerator()
While oEnumerador.MoveNext()
End While
Me.lstTraspaso.Items.Add(oEnumerador.Current)
End If
UCLM-ESI. Programación con Visual Basic .NET
3. 19
Controles.
Controles más habituales. ListBox (vi).
btnLimpiar_Click:
Me.lstTraspaso.Items.Clear()
UCLM-ESI. Programación con Visual Basic .NET
3. 20
(cid:132)10
Controles.
Controles más habituales. ComboBox.
• TextBox + ListBox
• DropDownStyle
• DropDownList
• MaxDropDownItems
Me.cboColores.Items.AddRange(New
String() {"AZUL", "VERDE", _
"AMARILLO", "ROJO", "BLANCO", "MARRÓN", "GRANATE“)
UCLM-ESI. Programación con Visual Basic .NET
3. 21
Menús.
• MainMenu, ContextMenu (contenedores)
• MenuItem
UCLM-ESI. Programación con Visual Basic .NET
3. 22
(cid:132)11
Menús.
MainMenu (i).
• MainMenu, ContextMenu (contenedores)
• MenuItem
(cid:132) &
(cid:132) -
(cid:132) Text
(cid:132) Enabled
(cid:132) DefaultItem
(cid:132) Checked
(cid:132) RadioCheck
(cid:132) ShortCut
(cid:132) ShowShortCut
(cid:132) Visible
(cid:132) MdiList
UCLM-ESI. Programación con Visual Basic .NET
3. 23
Menús.
MainMenu (ii).
mnuAbrir_Click: MessageBox.Show("Opción Abrir")
mnuSalir_Click: Me.Close()
UCLM-ESI. Programación con Visual Basic .NET
3. 24
(cid:132)12
Menús.
MainMenu (iii).
btnHabilitar_Click:
Me.mnuGuardar.Enabled = Not Me.mnuGuardar.Enabled
btnMarcar_Click:
Me.mnuPegar.Checked = Not Me.mnuPegar.Checked
btnMostrar_Click:
Me.mnuElipse.Visible = Not Me.mnuElipse.Visible
btnNombre_Click:
If Me.mnuAbrir.Text = "A&brir" Then
Else
Me.mnuAbrir.Text = "HO&LA"
Me.mnuAbrir.Text = "A&brir"
End If
btnDefecto_Click:
Me.mnuCopiar.DefaultItem = Not Me.mnuCopiar.DefaultItem
UCLM-ESI. Programación con Visual Basic .NET
3. 25
Menús.
ContextMenu.
mnuFuente_Click:
Dim oFuente As New Font(“Comic”, 15)
Me.txtValor.Font = oFuente
mnuMayusculas_Click:
Me.txtValor.Text = Me.txtValor.Text.ToUpper()
mnuMinusculas_Click:
Me.txtValor.Text = Me.txtValor.Text.ToLower()
UCLM-ESI. Programación con Visual Basic .NET
3. 26
(cid:132)13
Formularios MDI (Multiple Document Interface) (i).
• 1 Formulario MDI + n Formularios Documento.
• IsMDIContainer / MdiParent
Imports System.IO
btnGrabar_Click:
Dim oEscritor as StreamWriter
oEscritor =
oEscritor.Write(Me.txtCarta.Text)
oEscritor.Close()
File.CreateText(Me.txtArchivo.Text)
UCLM-ESI. Programación con Visual Basic .NET
3. 27
Formularios MDI (ii).
tmrTiempo_Tick:
Dim dtFecha As Date
dtFecha = DateTime.Today
Dim dtHora As Date
dtHora = DateTime.Now
Me.lblFecha.Text = dtFecha.ToString("d/MMM/yyyy")
Me.lblHora.Text = dtHora.ToString("h:m:s")
UCLM-ESI. Programación con Visual Basic .NET
3. 28
(cid:132)14
Formularios MDI (iii).
mnuCarta_Click:
Dim ofrmCarta As New frmCarta()
ofrmCarta.MdiParent = Me
ofrmCarta.Show()
mnuInformacion_Click:
Dim ofrmInfo As New frmInfo()
ofrmInfo.MdiParent = Me
ofrmInfo.Show()
UCLM-ESI. Programación con Visual Basic .NET
3. 29
Formularios MDI (iv).
mnuCascada_Click:
Me.LayoutMdi(MdiLayout.Cascade)
mnuHorizontal_Click:
Me.LayoutMdi(MdiLayout.TileHorizontal)
UCLM-ESI. Programación con Visual Basic .NET
3. 30
(cid:132)15
Archivos.
Gestión del Sistem
Comentarios de: 4 - Interfaz de Usuario. Entrada/Salida. Desarrollo de una aplicación (0)
No hay comentarios