clase listview

Post on 12-Nov-2014

59 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

08/04/23 I D A T - Javier M. Rosales Guerra 1

Clase ListView

Prof. Javier Rosales Guerra

08/04/23 I D A T - Javier M. Rosales Guerra 2

Clase ListView Representa un control de vista de lista de

Windows, el cual muestra una colección de elementos que se pueden ver mediante una de cuatro vistas distintas.

Muestra una lista de elementos con iconos o en columnas

Puede mostrar cuatro vistas mediante los valores de la propiedad View LargeIcon SmallIcon List Details

08/04/23 I D A T - Javier M. Rosales Guerra 3

Clase ListView Agregar elementos. Cada elemento es un dato de tipo ListViewItem. Se pueden agregar en tiempo de diseño mediante el editor

de la propiedad Items de la ventana de propiedades. Items hace referencia a una colección de ListViewItems.

En tiempo de ejecución se agregan con el método Add de la colección ListViewItemsCollection.'Agrega un elemento con la etiqueta "Elemento 1"ListView1.Items.Add("Elemento 1")‘Agrega un nuevo elemento miItemDim miItem As New ListViewItem("Elemento 1")ListView1.Items.Add(miItem)'Agrega un nuevo elemento "Elemento 1", con el primer icono de la

lista de imágenes.ListView1.Items.Add("Elemento 2", 0)

08/04/23 I D A T - Javier M. Rosales Guerra 4

Clase ListView Agregar elementos en columnas.

El formato tabular sólo está disponible con la propiedad View establecida a Details.

Es necesario crear las columnas mediante el editor de columnas al que se accede mediante la propiedad Columns.

El contenido de la primera columna corresponde al elemento ListViewItem. Cada columna siguiente es un elemento de la colección

SubItems de la clase ListViewItem. Se puede contruir un ListViewItem con sus elementos a

partir de un array de cadenas.

Dim items() As String =New String() {_TextBox1.Text, TextBox2.Text, TextBox3.Text}

ListView1.Items.Add(New ListViewItem(items))

08/04/23 I D A T - Javier M. Rosales Guerra 5

Clase ListView Referencia a los elementos.

Propiedad SelectedIndices. Devuelve una colección con los índices seleccionados. Hay que tener en cuenta que se pueden seleccionar varios

elementos. ListView1.SelectedIndices(0).Item, devuelve un entero con el

índice el primer elemento seleccionado Propiedad SelectedItems. Devuelve una colección de

ListViewItem con los elementos seleccionados. ListView1.SelectedItems(0).Text, devuelve la etiqueta del

primer elemento seleccionado. Propiedad FocusedItem. Devuelve el ListViewItem que ha

recibido el foco. Referencia a los subelementos.

Se realiza a partir de la colección SubItems del elemento. ListView1.SelectedItems(0).SubItems(0).Text, devuelve

la etiqueta del primer subelemento de la fila seleccionada.

08/04/23 I D A T - Javier M. Rosales Guerra 6

Clase ListView Control del elemento seleccionado.

Evento ItemActivate. Se produce cuando se activa un elemento.

Evento SelectedIndexChanged. Se produce cuando se cambia el índice del elemento seleccionado. Se produce antes de ItemActivate.

Eliminación de elementos. Método RemoveAt de la colección

ListViewItemsCollection, indicándole el índice del elemento a borrar.ListView1.Items.RemoveAt(ListView1.SelectedIndices(0))

Método Remove de la colección ListViewItemsCollection, indicándole el elemento a borrar.ListView1.Items.Remove(ListView1.FocusedItem)

08/04/23 I D A T - Javier M. Rosales Guerra 7

Estructura With Establece por defecto a un control dentro

de la zonaWith ListView1.Items.Add(“L01”)

.SubItems.Add(“Lima”)

.SubIItems.Add(“45”)

End With Propiedades

GridLines: Lineas guía (true) View: Modo de vista FullRowSelect: Selecciona toda la fila (True) Columns: Define las columnas (Colección)

08/04/23 I D A T - Javier M. Rosales Guerra 8

Ejemplo de Aplicación01

08/04/23 I D A T - Javier M. Rosales Guerra 9

Ejemplo de Aplicación01 Código del botón Agregar

Private Sub BtnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAgregar.Click

With ListView1.Items.Add(txtNom.Text) .SubItems.Add(txtTelf.Text) .SubItems.Add(txtMail.Text) End With End Sub

08/04/23 I D A T - Javier M. Rosales Guerra 10

Ejemplo de Aplicación01 Código del evento KeyDown

Private Sub ListView1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ListView1.KeyDown

If e.KeyCode = Keys.Delete Then BtnEliminar_Click(sender, e) End If End Sub Código del botón Eliminar Private Sub BtnEliminar_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles BtnEliminar.Click ListView1.Items.Remove(ListView1.FocusedItem) End Sub

08/04/23 I D A T - Javier M. Rosales Guerra 11

Ejemplo de Aplicación02

08/04/23 I D A T - Javier M. Rosales Guerra 12

Ejemplo de Aplicación02 Variables de clase

Public Class FrmEmpleados 'Variables de Clase Dim vProc As String Dim vFila% Dim Ctrl As Control

Procedimiento para limpiar controlesSub Limpiar() For Each Ctrl In Me.GroupBox1.Controls If TypeOf Ctrl Is TextBox Or TypeOf Ctrl Is ComboBox Then Ctrl.Text = "" End If Next Ctrl.Focus() End Sub

08/04/23 I D A T - Javier M. Rosales Guerra 13

Ejemplo de Aplicación02 Código del evento Load del formulario

Private Sub FrmEmpleados_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim Cargos() As String = {"Analista", "Programador", "WebMaster", "Digitador"}

Dim i% = 0 For i = 0 To Cargos.Length - 1 CboCargo.Items.Add(Cargos(i)) Next End Sub Código del botón Cancelar Private Sub BtnCancelar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles BtnCancelar.Click GroupBox1.Enabled = False GroupBox2.Enabled = True Limpiar() End Sub

08/04/23 I D A T - Javier M. Rosales Guerra 14

Ejemplo de Aplicación02 Código del evento SelectedIndexChanged

Private Sub CboCargo_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CboCargo.SelectedIndexChanged

Select Case CboCargo.SelectedIndex Case 0 txtSueldo.Text = 2500 Case 1 txtSueldo.Text = 2000 Case 2 txtSueldo.Text = 1500 Case 3 txtSueldo.Text = 1000 End Select End Sub

08/04/23 I D A T - Javier M. Rosales Guerra 15

Ejemplo de Aplicación02 Código del botón Guardar

Private Sub BtnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGuardar.Click

If vProc = "Add" Then With LsvEmp.Items.Add(txtNom.Text) .SubItems.Add(CboCargo.Text) .SubItems.Add(txtSueldo.Text) End With Else vFila = LsvEmp.FocusedItem.Index LsvEmp.Items(vFila).SubItems(0).Text = txtNom.Text LsvEmp.Items(vFila).SubItems(1).Text = CboCargo.Text LsvEmp.Items(vFila).SubItems(2).Text = txtSueldo.Text End If GroupBox1.Enabled = False GroupBox2.Enabled = True Limpiar() End Sub

08/04/23 I D A T - Javier M. Rosales Guerra 16

Ejemplo de Aplicación02 Código del botón Agregar

Private Sub BtnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAgregar.Click

vProc = "Add" GroupBox1.Enabled = True GroupBox2.Enabled = False txtNom.Focus() End Sub

Código del botón EliminarPrivate Sub BtnEliminar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles BtnEliminar.Click LsvEmp.Items.Remove(LsvEmp.FocusedItem) End Sub

Código del botón Eliminar TodosPrivate Sub BtnElimTodos_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles BtnElimTodos.Click LsvEmp.Items.Clear() End Sub

08/04/23 I D A T - Javier M. Rosales Guerra 17

Ejemplo de Aplicación02 Código del botón Modificar

Private Sub BtnModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnModificar.Click

vFila = LsvEmp.FocusedItem.Index If vFila = -1 Then MsgBox("Debe seleccionar un elemento",

MsgBoxStyle.Exclamation, "Aviso") Else txtNom.Text = LsvEmp.Items(vFila).SubItems(0).Text CboCargo.Text = LsvEmp.Items(vFila).SubItems(1).Text() txtSueldo.Text = LsvEmp.Items(vFila).SubItems(2).Text GroupBox1.Enabled = True GroupBox2.Enabled = false vProc = "Mod" End If End Sub

08/04/23 I D A T - Javier M. Rosales Guerra 18

Formularios MDI Aplicaciones MDI (Multiple Document

Interface). Existe una ventana MDI primaria (padre)

que actúa como contenedor de ventanas MDI secundarias (hijas).

Es útil cuando una aplicación requiere de varias ventanas de características generales o para navegar entre las distintas ventanas de una aplicación.

08/04/23 I D A T - Javier M. Rosales Guerra 19

Evento KeyDown Este evento ocurre cada vez que el usuario presiona

una tecla. El evento permite programas todas las teclas del

teclado incluyendo teclas especiales. Ejemplo:

Private Sub ListView1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ListView1.KeyDown

If e.KeyCode = Keys.Delete Then BtnEliminar_Click(sender, e) End If End Sub

Private Sub BtnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEliminar.Click

ListView1.Items.Remove(ListView1.FocusedItem) End Sub

08/04/23 I D A T - Javier M. Rosales Guerra 20

Evento KeyDown El evento KeyDown permite ejecutar

procedimientos asociados a determinados controles.

Ejemplo:If e.KeyCode=Key.F2 Then

BtnAgregar_Click(sender,e)

End If

If e.KeyCode=Key.F3 ThenBtnModificar_Click(sender,e)

End If

08/04/23 I D A T - Javier M. Rosales Guerra 21

Validaciones

Es un proceso que consiste en verificar que el ingreso de datos es correcto y válido.

Existen tres formas de validar la entrada de datos: Mediante el control ErrorProvider Mediante el evento KeyPress Mediante la estructura Try…Catch

08/04/23 I D A T - Javier M. Rosales Guerra 22

Validar con ErrorProvider

1. Agregar al formulario el control ErrorProvider (este se agregará en la parte inferior del formulario)

2. Configure la propiedad Name del control ErrorProvider

Name=Err

3. Active el evento Validating de la caja de texto que desea validar

08/04/23 I D A T - Javier M. Rosales Guerra 23

Validar con ErrorProvider

08/04/23 I D A T - Javier M. Rosales Guerra 24

Validar con ErrorProviderPrivate Sub txtRuc_Validating(ByVal sender As Object, ByVal e As

System.ComponentModel.CancelEventArgs) Handles txtRuc.Validating If txtRuc.Text.Length <> 11 Then Err.SetError(txtRuc, "Solo acepta 11 caracteres") e.Cancel = True 'Trunca el ingreso Else Err.SetError(txtRuc, "") 'Si no existe error e.Cancel = False If txtRuc.Text.StartsWith("10") Or txtRuc.Text.StartsWith("20") Then Err.SetError(txtRuc, "") 'Si no existe error e.Cancel = False Else Err.SetError(txtRuc, "Debe empezar con 10 0 20") e.Cancel = True 'Trunca el ingreso End If End If End Sub

08/04/23 I D A T - Javier M. Rosales Guerra 25

Validar con KeyPress Se activa cada vez que presionamos una tecla (Antes

que aparezca el carácter dentro del control) Se utiliza para validar el carácter que se permitirá

dentro de la caja Ejemplo:

Validar el No. de DNI y No. de RUC de tal modo que solo se acepte caracteres numéricos.

Private Sub txtRuc_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtRuc.KeyPress

If e.KeyChar = "." Or Char.IsWhiteSpace(e.KeyChar) Or Char.IsLetter(e.KeyChar) Then

e.Handled = True End If End Sub

08/04/23 I D A T - Javier M. Rosales Guerra 26

Operador de evento Handled

Todos los eventos tienen el operador Handled.

En este operador se incluyen todos los controles que usarán lo programado en dicho evento.

Ejemplo:Private Sub txtApe_Click(….) Handles txt.Ape.KeyPress,txtNom.KeyPress

08/04/23 I D A T - Javier M. Rosales Guerra 27

Estructura Try…Catch Es una estructura que permite controlar errores

producidos en tiempo de ejecución. Esta estructura “maneja” los errores producidos

diciendo al programa qué tiene que hacer cuando una de sus sentencias no funciona correctamente.

Como su nombre indica, los manejadores de error “atrapan” el problema utilizando la estructura Try…Catch y un objeto especial de manejo de errores denominado Err.

El objeto Err posee la propiedad Number gracias a la cual se puede identificar el número de error.

08/04/23 I D A T - Javier M. Rosales Guerra 28

Estructura Try…CatchTry With ListView1.Items.Add(txtNom.Text) .SubItems.Add(txtTelf.Text) .SubItems.Add(txtMail.Text) End With Catch ex As NullReferenceException MsgBox(ex.ToString) Catch ex As DivideByZeroException MsgBox("error") Catch ex As Exception MsgBox("error") End Try

08/04/23 I D A T - Javier M. Rosales Guerra 29

Formulario MDI (Multiple Document Interface)

Es una ventana especial que se emplea como ventana principal de un sistema.

Dentro de un MDI pueden estar contenidas otras ventanas.

Es útil cuando una aplicación requiere de varias ventanas de características generales o para navegar entre las distintas ventanas de una aplicación.

08/04/23 I D A T - Javier M. Rosales Guerra 30

Formulario MDI

08/04/23 I D A T - Javier M. Rosales Guerra 31

Formulario MDI Creación de formulario MDI

1. Agregar un nuevo WindowsForm al proyecto.2. Defina las siguientes propiedades del formulario:

Name: FrmPrincipal Text: Multidatos S.A.C. WindowState: Maximized IsMdiContainer: True

3. Configure el proyecto para que el formualrio de inicio sea FrmPrincipal.

top related