Escolar Documentos
Profissional Documentos
Cultura Documentos
Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Guía de Referencia
Pagina: 1
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
FORMULARIOS
Controls (1)
Controls y propiedades
Label1 (Text): Plato:
TextBox: txtNombrePlato
Pagina: 2
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Text: Envase
3 CheckBox
Códigos
Pagina: 3
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
End If
End Sub
Pagina: 4
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Controls (2)
Controls y propiedades
MainMenu: armar el menú con las opciones:
Archivo: Leer archivo texto / Salir
Configurar: Fuentes / Colores / StatusBar
En la pagina Hardwares:
Códigos
Pagina: 5
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Sub CambioColor()
Dim color As New ColorDialog
Me.myStatus.Text = "Define el color de la letra"
If color.ShowDialog = DialogResult.OK Then
lblCuadros.ForeColor = color.Color
Me.lstSoftwares.ForeColor = color.Color
End If
End Sub
Sub CambioFuente()
Dim fuente As New FontDialog
Me.myStatus.Text = "Configura la fuente de la letra"
If fuente.ShowDialog = DialogResult.OK Then
Me.lblCuadros.Font = fuente.Font
Me.lstSoftwares.Font = fuente.Font
End If
End Sub
Sub LeerArchivo()
Dim file As New OpenFileDialog
Me.myStatus.Text = "Seleccione cualquier archivo texto"
With file
.DefaultExt = "*.txt"
.Multiselect = False
.Filter = "Text files (*.txt)|*.txt"
.Title = "Seleccione un archivo..."
.ShowDialog()
End With
If file.ShowDialog = DialogResult.OK Then
Dim archivo As New System.IO.StreamReader(file.FileName)
Me.txtArchivo.Text = archivo.ReadToEnd
archivo.Close()
End If
End Sub
Pagina: 6
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Pagina: 7
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Gráficos (GDI+)
Controls y propiedades
TrackBar1
Maximum: 100
Minimum: 10
Value: 10
Códigos
Pagina: 8
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Color.White, Drawing2D.LinearGradientMode.Vertical)
e.Graphics.FillRectangle(linear, rectangulo)
End Sub
Pagina: 9
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Herencia de formulario
Controls y propiedades
Códigos
Pagina: 10
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Controls y propiedades
Códigos
Pagina: 11
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Pagina: 12
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
MDI / Modal
Controls y propiedades
Códigos
Pagina: 13
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Otros formularios:
Controls y propiedades
Códigos
Controls y propiedades
Label1 e DataGrid
Pagina: 14
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Tratamiento de Errores
Controls y propiedades
Button1 (ID): btnArchivo
Text: Abre el archivo texto
TextBox: txtArchivo
ScrollBars: Both
Códigos
Imports System.IO
'Try
' 'bloque de código
'Catch ex As Exception
' 'trata el erro
'Finally
' 'siempre será ejecutado con o sin error
' 'Open/Close Database
'End Try
End Sub
Pagina: 15
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
ADO .NET
Llenando Controls
Controls y propiedades
Label1 (Text): ID:
TextBox1 (ID): txtID
Label2 (Text): ID:
TextBox2 (ID): txtNombre
Label3 (Text): ID:
TextBox3 (ID): txtContacto
Label4 (Text): ID:
TextBox4 (ID): txtCargo
Label5 (Text): Ciudad:
TextBox1 (ID): txtCiudad
Códigos
Pagina: 16
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Me.daCustomers.Fill(Me.DsCustomers1)
ActualizaDatos()
End Sub
Sub ActualizaDatos()
With
Me.DsCustomers1.Customers.Rows(Me.BindingContext(Me.DsCustomers1,
"Customers").Position)
Me.txtID.Text = .Item("CustomerID")
Me.txtNombre.Text = .Item("CompanyName")
Me.txtContacto.Text = .Item("ContactName")
Me.txtCargo.Text = .Item("ContactTitle")
Me.txtCiudad.Text = .Item("City")
End With
Me.txtNavegador.Text = "Proveedor " &
(Me.BindingContext(Me.DsCustomers1, "Customers").Position + 1).ToString
& _
" de " & Me.BindingContext(Me.DsCustomers1,
"Customers").Count.ToString
End Sub
Pagina: 17
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
ActualizaDatos()
End If
End With
End Sub
Pagina: 18
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Relacionamientos
Controls y propiedades
Button1 (ID): btnCon
Text: DataGrid Con Relacionamiento
Códigos
Pagina: 19
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Me.SqlConnection1.Open()
Me.daCategorias.Fill(dsGrid, "categorias")
Me.daProductos.Fill(dsGrid, "productos")
Me.SqlConnection1.Close()
Pagina: 20
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Filtros y Clasificación
Controls y propiedades
GroupBox1 (Text): Filtros
Label1 (Text): Producto
TextBox1 (ID): txtProducto
Label2 (Text): Categorias
ComboBox (ID): cboCategorias
checkBox1 (ID): ckDescontinuado / Text: Descontinuado
Códigos
Imports System.Data.SqlClient
Public Class FormFilterSort
Inherits System.Windows.Forms.Form
Pagina: 21
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
ArmaProductos()
Me.myStatusBar.Text = String.Empty
End Sub
Sub ArmaCategorias()
Try
Dim conn As New SqlConnection(conexion)
Dim sql As String = "Select CategoryID, CategoryName From
Categories"
Dim dsCategorias As New DataSet
Dim AdapterCategorias As New SqlDataAdapter(sql, conn)
conn.Open()
AdapterCategorias.Fill(dsCategorias, "Categorias")
With Me.cboCategorias
.DataSource =
dsCategorias.Tables("Categorias").DefaultView
.DisplayMember = "CategoryName"
.ValueMember = "CategoryID"
End With
conn.Close()
Catch err As SqlException
MessageBox.Show(err.Message)
Catch err As Exception
MessageBox.Show(err.Message)
End Try
End Sub
Sub ArmaProductos()
Dim conn As New SqlConnection(conexion)
Dim sql As String = "Select ProductName, UnitPrice,
UnitsInStock, UnitsOnOrder, " & _
"CategoryID, Discontinued FROM Products"
Dim dsProductos As New DataSet
Dim AdapterProductos As New SqlDataAdapter(sql, conn)
conn.Open()
AdapterProductos.Fill(dsProductos, "Productos")
DataViewProductos = New
DataView(dsProductos.Tables("Productos"), "ProductName like '%'",
"ProductName ASC", DataViewRowState.OriginalRows)
conn.Close()
Me.dgDatos.DataSource = DataViewProductos
Me.dgDatos.CaptionText = "Cantidad Productos: " +
DataViewProductos.Count.ToString
' Listado del Productos
Dim columna As Integer
For columna = 0 To dsProductos.Tables("Productos").Columns.Count
- 1
Me.lstCategorias.Items.Add(dsProductos.Tables("Productos").Columns(colum
na).ColumnName)
Next
Me.lstCategorias.Sorted = True
End Sub
Pagina: 22
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Pagina: 23
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Pagina: 24
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Entrada Datos
Controls y propiedades
GroupBox1 (Text): Datos de Registro
Label1 (Text): EmpresaID
TextBox1 (ID): txtEmpresaID
Label2 (Text): Empresa
TextBox2 (ID): txtEmpresa
Label3 (Text): Contacto
TextBox3 (ID): txtContacto
Label4 (Text): Dirección
TextBox4 (ID): txtDireccion
Label5 (Text): Ciudad
TextBox5 (ID): txtCiudad
Label6 (Text): País
ComboBox1 (ID): cboPais
Label7 (Text): Teléfono
TextBox6 (ID): txtTelefono
Label8 (Text): FAX
TextBox7 (ID): txtFax
Button1 (ID): btnIncluir / Text: Incluir
Button2 (ID): btnSalvar / Text: Salvar
Button3 (ID): btnExcluir / Text: Excluir
GroupBox2 (Text): Investigación Rápida
ListBox1 (ID): lstCustomers
clsCustomers.DLL
Imports System.Data.SqlClient
Public Class clsCustomers
Pagina: 25
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Throw err
Catch err As Exception
Throw err
End Try
End Function
Public Function ArmaPaises(ByVal conexion As String) As DataSet
Try
Dim conn As New SqlConnection(conexion)
Dim sql As String = "Select Distinct Country FROM Customers
ORDER BY Country"
Dim dsPaises As New DataSet
Dim daPaises As New SqlDataAdapter(sql, conn)
conn.Open()
daPaises.Fill(dsPaises, "Paises")
conn.Close()
Return dsPaises
Catch err As SqlException
Throw err
Catch err As Exception
Throw err
End Try
End Function
Pagina: 26
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Throw err
End Try
End Sub
Pagina: 27
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
End Sub
End Class
Imports System.Data.SqlClient
Pagina: 28
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Pagina: 29
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Sub LimpiarCampos()
Me.txtEmpresaID.Text = ""
Me.txtEmpresa.Text = ""
Me.txtContacto.Text = ""
Me.txtDireccion.Text = ""
Me.txtCiudad.Text = ""
Me.txtTelefono.Text = ""
Me.txtFax.Text = ""
Me.cboPais.SelectedIndex = -1
End Sub
Sub IncluirCliente()
If Not ValidaDatos() Then
Exit Sub
End If
Try
Dim objIncluir As New clsCustomers
Dim empresaID As String = Me.txtEmpresaID.Text.Trim
Dim empresa As String = Me.txtEmpresa.Text.Trim
Dim contacto As String = Me.txtContacto.Text.Trim
Dim telefono As String = Me.txtTelefono.Text.Trim
Dim direccion As String = Me.txtDireccion.Text.Trim
Dim ciudad As String = Me.txtCiudad.Text.Trim
Dim fax As String = Me.txtFax.Text.Trim
Dim pais As String = Me.cboPais.SelectedValue
objIncluir.Incluir(empresaID, empresa, contacto, direccion,
ciudad, _
telefono, fax, pais, conexion)
ArmaClientes()
btnSalvar.Enabled = False
btnExcluir.Enabled = True
btnIncluir.Enabled = True
Catch err As Exception
MessageBox.Show(err.Message)
End Try
End Sub
Sub ActualizarCliente()
If Not ValidaDatos() Then
Exit Sub
End If
Try
Dim objActualizar As New clsCustomers
Dim empresaID As String = Me.txtEmpresaID.Text.Trim
Dim empresa As String = Me.txtEmpresa.Text.Trim
Dim contacto As String = Me.txtContacto.Text.Trim
Dim telefono As String = Me.txtTelefono.Text.Trim
Dim direccion As String = Me.txtDireccion.Text.Trim
Dim ciudad As String = Me.txtCiudad.Text.Trim
Pagina: 30
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Pagina: 31
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Interoperabilidade
Cierre todos los proyectos abiertos y cree un nuevo proyecto Class Library llamado
Componentes.
Pagina: 32
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Imports System.Data.SqlClient
Seleccione el menú Build / Build Solution para generar la DLL. Abra WinAppLatam. El
primer paso consiste en referenciar la DLL que será consumida en el formulario; para ello
seleccione el menú Project / Add Reference, localize la DLL generada anteriormente y
haga click en el botón OK.
Adicione el seguinte formulario para consumir la clase de acentuación generada en la
DLL.
Controls y propiedades
Label1 (Text): Original
TextBox1 (ID): txtConAcentos
Multiline: True
Pagina: 33
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Códigos
Otro formulario.
Controls y propiedades
Label1 (Text): Categorias
ComboBox1 (ID): cboCategorias
Label2 (Text): Productos
CheckedListBox: ckProductos
Códigos
Imports Componentes
Public Class FormCompProductos
Inherits System.Windows.Forms.Form
Pagina: 34
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
.DataSource =
comp.Precios(Me.cboCategorias.SelectedValue).Tables("precios").DefaultVi
ew
End With
End Sub
End Class
Pagina: 35
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Web Services
Crea un nuevo proyecto del tipo ASP.NET Web Service llamado ProjetoWebServices.
Adicione 3 nuevos Web Methods:
Imports System.Web.Services
Imports System.Data.SqlClient
<WebMethod(Description:="Tipos de deportes")> _
Public Function TiposDeportes() As ArrayList
Dim ArrayTipos As New ArrayList
With ArrayTipos
.Add("Agua")
.Add("Aire")
.Add("Tierra")
End With
Return ArrayTipos
End Function
<WebMethod(Description:="Modalidades de Deportes")> _
Public Function Deportes(ByVal tipo As String) As ArrayList
Dim ArrayDeportes As New ArrayList
Select Case tipo
Case "Agua"
With ArrayDeportes
.Add("Natación")
.Add("Windsurf")
.Add("Surf")
.Add("Regata Velero")
.Add("Regata Océano")
End With
Case "Aire"
With ArrayDeportes
.Add("Parapente")
.Add("Aladelta")
.Add("Aeromodelismo")
End With
Case "Tierra"
With ArrayDeportes
.Add("Ciclismo")
.Add("Maratona")
.Add("Tenis")
.Add("Montain Bike")
.Add("Voleibol")
.Add("Fútbol")
.Add("Basquetbol")
End With
End Select
Pagina: 36
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Return ArrayDeportes
End Function
<WebMethod(Description:="Listado de autores")> _
Public Function Autores() As DataSet
Dim conn As SqlConnection
Dim sql As String = "SELECT au_fname + ' ' + au_lname FROM
authors"
Dim da As SqlDataAdapter
Dim ds As DataSet
conn = New SqlConnection("Initial Catalog=Pubs;Data
Source=wind;user id=sa;")
conn.Open()
da = New SqlDataAdapter(sql, conn)
ds = New DataSet
da.Fill(ds, "autores")
Return ds
End Function
Controls y propiedades
Label2 (Text): Tipos
ListBox1 (ID): lstTipos
Label3 (Text): Deportes
ListBox1 (ID): lstDeportes
Label4 (Text): Autores
ListBox1 (ID): lstAutores
Códigos
'Autores
Me.lstAutores.DisplayMember = "Column1"
Me.lstAutores.DataSource =
ws.Autores.Tables("autores").DefaultView
End Sub
Pagina: 37
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
End Class
Pagina: 38
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
OOP
Abstracción y Encapsulamiento
Pagina: 39
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Pagina: 40
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Herencia
Pagina: 41
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Controls y propiedades
Label1 (Text): Cor:
TextBox1 (ID): txtColor
Label2 (Text): Peso:
TextBox2 (ID): txtPeso
Label3 (Text): Tipo:
TextBox3 (ID): txtTipo
Button1 (ID): btnValores / Text: Asignar Valores
Pagina: 42
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
.Peso = 12500
.Tipo = "Camión-Remolque"
Me.txtColor.Text = .Color
Me.txtPeso.Text = .Peso
Me.txtTipo.Text = .Tipo
End With
End Sub
Pagina: 43
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Polimorfismo
Pagina: 44
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Controls y propiedades
Button1 (ID): btnGrabar / Text: Grabar XML
Button2 (ID): btnLeer / Text: Leer Pedidos
Button3 (ID): btnProductos / Text: Leer Productos
DataGrid1 (ID): dgDatos
Códigos
Pagina: 45
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Pagina: 46
Desarrollando Aplicaciones Windows con Visual Basic . Net
Autor: Renato I. Haddad (Microsoft Most Valuable Professional)
Threads
Controls y propiedades
Button1 ( ID): btnArcTexto / Text: Inicia la grabación del archivo texto
Button2 ( ID): btnMsg / Text: Envía un Message Box
Sub CreaArchivo()
Dim objArc As New System.IO.FileStream("c:\WinAppLatam\thread.txt",
IO.FileMode.OpenOrCreate)
Dim arc As New System.IO.StreamWriter(objArc)
Dim aux1, aux2 As Integer
For aux1 = 1 To 500
For aux2 = 1 To 500
arc.WriteLine(aux1.ToString & " - " & aux2.ToString)
Next
Next
arc.Close()
MessageBox.Show("Finalizó la grabación del archivo", "MS")
End Sub
Pagina: 47