You are on page 1of 154

MANUAL DE VISUAL BASIC

PARTE I
Manual de Visual Basic Parte I 2012

CAPTULO I ............................................................................................................................. - 5 -
VISUAL STUDIO 2010 .......................................................................................................... - 5 -
1.1. REQUERIMIENTOS Y CARACTERSTICAS .................................................... - 5 -
1.2. DECLARACIN DE VARIABLES .......................................................................... - 5 -
1.3. CONCATENACIN DE CADENAS ...................................................................... - 5 -
1.4. INICIANDO VISUAL STUDIO 2010...................................................................... - 6 -
1.5. CREAR UN NUEVO PROYECTO DE WINDOWS FORMS APPLICATION ........ - 8 -
1.6. ENTORNO DE VISUAL BASIC: ........................................................................... - 10 -
1.6.1. VENTANA EXPLORADOR DE PROYECTO .............................................. - 10 -
1.6.2. CUADRO DE HERRAMIENTAS.................................................................. - 11 -
1.6.3. VENTANA DE PROPIEDADES ................................................................... - 11 -
1.6.4. VENTANA EDITOR DE CDIGO...............................................................- 12 -
1.6.5. VENTANA DE DEPURACIN ....................................................................- 12 -
1.6.6. VENTANA DEL FORMULARIO ..................................................................- 12 -
1.7. TERMINOLOGA ................................................................................................. - 13 -
1.7.1. OBJETOS ...................................................................................................... - 13 -
1.7.2. CLASE ........................................................................................................... - 13 -
1.7.3. PROPIEDADES ............................................................................................ - 13 -
1.7.4. MTODOS ................................................................................................... - 13 -
1.7.5. EVENTOS ..................................................................................................... - 13 -
1.8. ALGUNOS OBJETOS Y CONTROLES ................................................................. - 13 -
1.9. ALGUNAS PROPIEDADES .................................................................................. - 13 -
1.10. ALGUNOS MTODOS ..................................................................................... - 13 -
1.10.1. SET FOCUS (ENTREGAR EL ENFOQUE) .................................................. - 13 -
1.10.2. DRAG ............................................................................................................ - 13 -
1.10.3. MOVE ........................................................................................................... - 13 -
1.11. ALGUNOS EVENTOS....................................................................................... - 14 -
1.11.1. CLICK .......................................................................................................... - 14 -
1.11.2. DBLCLICK ................................................................................................... - 14 -
1.11.3. DRAGDROP ................................................................................................ - 14 -
1.11.4. KEYDOWN.................................................................................................. - 14 -
1.11.5. KEYUP ......................................................................................................... - 14 -
1.11.6. KEYPRESS ................................................................................................... - 14 -
1.11.7. MOUSEDOWN ........................................................................................... - 14 -
1.11.8. MOUSEUP................................................................................................... - 14 -
1.11.9. MOUSEMOVE ............................................................................................ - 14 -
1.11.10. CHANGE ..................................................................................................... - 14 -

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


-3-
Manual de Visual Basic Parte I 2012
1.11.11. LOAD........................................................................................................... - 14 -
CAPITULO II........................................................................................................................... - 15 -
ESTRUCTURA SELECTIVA ................................................................................................ - 15 -
2.1. ESTRUCTURA DE SELECCIN SIMPLE IF ........................................................ - 15 -
EJERCICIOS ........................................................................................................................... - 20 -
RADIOBUTTON .................................................................................................................... - 27 -
EJERCICIOS ........................................................................................................................... - 29 -
EJERCICIOS DE REFORZAMIENTO .................................................................................... - 36 -
EJERCICIOS ........................................................................................................................... - 59 -
JUEGO DE TRES EN RAYA............................................................................................. - 68 -
INCLUIR JUEGOS ........................................................................................................... - 72 -
JUEGO DE BUSCAMINAS .............................................................................................. - 72 -
JUEGO DE MEMORIA .................................................................................................... - 79 -
OBJETO TIMER .....................................................................................................................- 89 -
LEFT,HEIGHT,WIDTH,TOP .................................................................................................- 90 -
MOVIENDO UN OBJETO CON KEYPRESS ......................................................................... - 93 -
MOVIENDO UN OBJETO QUE LE SIGA AL MOUSE CON EL EVENTO MOUSEMOVE - 98 -
MOVER UNA IMAGEN SOBRE UN OBJETO ARRASTRE ................................................. - 99 -
RECEPCIONANDO UNA IMAGEN EN UNA MATRIZ EJEMPLO EL JUEGO DE TRES EN
RAYA ..................................................................................................................................... - 101 -
ARMAR UN ROMPECABEZAS ............................................................................................ - 103 -
CON ARRASTRE COPIAR EL TEXTO DE UN TEXTBOX A OTRO.................................. - 106 -
VENTANAS CON MEN .................................................................................................... - 108 -
REALIZACIN DE UN PROYECTO DE SOFTWARE......................................................... - 112 -
EJERCICIOS ..........................................................................................................................- 128 -
OBJETO TOOLSTRIP CON IMAGELIST ............................................................................ - 135 -
MOVIMIENTOS DE LAS PIEZAS DEL AJEDREZ ...............................................................- 142 -

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


-4-
Manual de Visual Basic Parte I 2012

VISUAL STUDIO 2010

1.1. REQUERIMIENTOS Y CARACTERSTICAS

Visual Studio tiene reservadas determinadas palabras clave para su uso


exclusivo. Por ejemplo, si se usan las palabras clave o reservadas en Visual
Studio como If, while, etc.En una sesin de la declaracin o programacin del
cdigo, se estar indicando a visual Studio que debe realizar dicha funcin.

Debe evitar usar una palabra clave reservada como nombre de un objeto. Si el
nombre de un objeto coincide con una palabra clave, cada vez que se haga
referencia al objeto debe aparecer entre identificadores delimitadores, como
dobles comillas ( ) o corchetes ([ ]).

Para hacer un comentario en una lnea se puede poner una comilla simple
antes de ste (). Ejm.: la declaracin se hace as

Visual Studio no distingue las maysculas de las minsculas

1.2. DECLARACIN DE VARIABLES

La declaracin de las variables en Visual Basic 2005 se hace por medio de la


instruccin Dim seguida del nombre de la constante y del tipo de datos que esta
contendr. Con una misma instruccin Dim podemos declarar ms de una variable,
incluso de tipos diferentes, tal como veremos a continuacin.

La siguiente lnea de cdigo declara una variable de tipo entero:

Dim i As Integer

Tal como hemos comentado, tambin podemos declarar en una misma lnea ms
de una variable:

Dim a, b, c, As Integer

En este caso, las tres variables las estamos definiendo del mismo tipo, que es el
indicado al final de la declaracin.

1.3. CONCATENACIN DE CADENAS

El operador de concatenacin de cadenas (+) concatena valores de cadena. El


resto de las operaciones con cadenas se controla mediante las funciones de
cadena.

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


-5-
Manual de Visual Basic Parte I 2012
1.4. INICIANDO VISUAL STUDIO 2010

Para iniciar el trabajo con Visual seguiremos los siguientes pasos:

Buscamos el icono de Microsoft Visual Studio 2010 en el escritorio y hacemos doble


clic.

Podemos escribir la siguiente direccin en el cuadro Ejecutar: C:\Program Files


(x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe y pulsar ENTER.

Es la ruta que adquiere el programa de Visual Studio 2010 en la instalacin estndar.

Si no encontramos ste icono en el escritorio y no podemos ejecutar lo anterior


hacemos lo siguiente:

o Clic en el botn inicio.

o Clic en todos los programas.

o Clic en Microsoft Visual Studio 2010.

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


-6-
Manual de Visual Basic Parte I 2012
o Y finalmente hacemos clic en Microsoft Visual Studio 2010.

Esperamos que cargue

Observamos el Entorno de Visual Studio 2010.

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


-7-
Manual de Visual Basic Parte I 2012
1.5. CREAR UN NUEVO PROYECTO DE WINDOWS FORMS APPLICATION

Para crear un nuevo proyecto hacemos clic primero en File (Archivo).

Luego hacemos clic en New Project (Nuevo Proyecto).

Clic en Visual Basic

Seguidamente hacemos clic en Windows Forms Application.

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


-8-
Manual de Visual Basic Parte I 2012
Finalmente hacemos clic en OK.

Podemos observar la Form1 donde se trabajar en modo de diseo.

Y tambin se trabajar programando como en la siguiente ventana, para empezar a


programar:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


-9-
Manual de Visual Basic Parte I 2012
1.6. ENTORNO DE VISUAL BASIC:

Despus de haber creado un Proyecto de Windows Forms Application, se mostrar la


ventana de Visual Basic:

1.6.1. VENTANA EXPLORADOR DE PROYECTO

CTRL+R,
CTRL+ALT+L

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 10 -
Manual de Visual Basic Parte I 2012
1.6.2. CUADRO DE HERRAMIENTAS

CTRL+ALT+X

1.6.3. VENTANA DE PROPIEDADES

F4

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 11 -
Manual de Visual Basic Parte I 2012
1.6.4. VENTANA EDITOR DE CDIGO

F7

1.6.5. VENTANA DE DEPURACIN

CTRL+G

1.6.6. VENTANA DEL FORMULARIO

SHIFT+F7

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 12 -
Manual de Visual Basic Parte I 2012
1.7. TERMINOLOGA

1.7.1. OBJETOS
Instancia de la clase, tiene propiedades atributos.

1.7.2. CLASE
Concepto, idea, las caractersticas y comportamientos comunes de los objetos.

1.7.3. PROPIEDADES
Caractersticas de los objetos, calificativo.

1.7.4. MTODOS
Se programa.

1.7.5. EVENTOS
Es una accin que se aplica a los objetos.

1.8. ALGUNOS OBJETOS Y CONTROLES

Formularios (Form)
Botones de comando (Button)
Etiquetas (Label)
Cuadros de textos (TextBox)
CheckBox
RadioButton
ListBox

1.9. ALGUNAS PROPIEDADES

Name (nombre)
Caption (ttulo)
Text (texto)
Font (fuente)
Fore color (color de primer plano)
Backcolor (color de fondo)
Enabled (disponible)

1.10. ALGUNOS MTODOS

1.10.1. SET FOCUS (ENTREGAR EL ENFOQUE)

Este mtodo se utiliza para hacer que un objeto reciba el enfoque. Este mtodo es
uno de los ms usados para los controles de Visual Basic 6.0.

1.10.2. DRAG

Inicia, termina o cancela una operacin de arrastre de cualquier control, excepto


loscontroles Line, Menu, Shape, Timer o CommonDialog.

1.10.3. MOVE

Se utiliza para mover un control o formulario, especificando sus coordenadas (Top,


Left)y su tamao (Width, Height).

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 13 -
Manual de Visual Basic Parte I 2012
1.11. ALGUNOS EVENTOS

1.11.1. CLICK

Al hacer click. Ocurre cuando el usuario presiona y suelta un botn del mouse
sobre un objeto.

1.11.2. DBLCLICK

Ocurre cuando el usuario presiona y suelta dos veces un botn del mouse sobre
unobjeto.

1.11.3. DRAGDROP

Ocurre como resultado de arrastrar y soltar con el mouse un control sobre un


determinado tipo de objeto.

1.11.4. KEYDOWN

Ocurre cuando el usuario mantiene presionada una tecla.

1.11.5. KEYUP

Ocurre cuando el usuario termina la operacin de pulsar una tecla. Se podra decir,
que este evento ocurre precisamente al terminar el evento KeyDown.

1.11.6. KEYPRESS

Ocurre como resultado de presionar y soltar una tecla.

1.11.7. MOUSEDOWN

Ocurre cuando el usuario presiona un botn del mouse, pero a diferencia del
evento.

1.11.8. MOUSEUP

El evento MouseUp se produce cuando el usuario suelta el botn del mouse. Es un


compaero til a los eventos MouseDown y MouseMove.

1.11.9. MOUSEMOVE

Este evento ocurre mientras el usuario mueve o desplaza el puntero del mouse
sobre un objeto.

1.11.10. CHANGE

Al cambiar

1.11.11. LOAD

Al cargarse en memoria

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 14 -
Manual de Visual Basic Parte I 2012

ESTRUCTURA SELECTIVA

2.1. ESTRUCTURA DE SELECCIN SIMPLE IF


Calcular el descuento segn las especificaciones

Sueldo Descuento
350-1200 22%
1200-2500 19%
2500-5000 15%
5000-10000 9%
10000-A mas 3%

Public Class Form2


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
Dim vsuel, vdessoles, vneto As Double
Dim vdespor As Integer
If Not String.IsNullOrEmpty(TextBox1.Text) And
Not String.IsNullOrWhiteSpace(TextBox1.Text) Then
vsuel = TextBox1.Text
If vsuel >= 350 Then
If vsuel <= 1200 Then
vdespor = 22
vdessoles = vsuel * 0.22
ElseIf vsuel <= 2500 Then
vdespor = 19
vdessoles = vsuel * 0.19
ElseIf vsuel <= 5000 Then
vdespor = 15
vdessoles = vsuel * 0.15
ElseIf vsuel <= 10000 Then
vdespor = 9
vdessoles = vsuel * 0.09
ElseIf vsuel > 10000 Then
vdespor = 3
vdessoles = vsuel * 0.03

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 15 -
Manual de Visual Basic Parte I 2012

Else
vdespor = 0
vdessoles = vsuel
End If
vneto = vsuel - vdessoles
TextBox2.Text = vdespor
TextBox3.Text = vdessoles
TextBox4.Text = vneto

Else
MessageBox.Show("EL SUELDO DEBE SER MAYOR O IGUAL A 350")
MessageBox.Show("ARREGLALO")
End If
End If
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Char.IsDigit(e.KeyChar) Or Asc(e.KeyChar) = 46 Or Asc(e.KeyChar) = 8 Then
e.Handled = False
Else
e.Handled = True

End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 16 -
Manual de Visual Basic Parte I 2012

"para que no acepte un char que no sea nmero"

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 17 -
Manual de Visual Basic Parte I 2012
Notas

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim vn1, vn2, vn3, vnp As Double
'ingresar notas
vn1 = CDbl(TextBox1.Text)
vn2 = CDbl(TextBox2.Text)
vn3 = CDbl(TextBox3.Text)
vnp = (vn1 + vn2 + vn3) / 3

TextBox5.Text = vnp
If vnp >= 10.5 Then
TextBox5.ForeColor = Color.Blue
MessageBox.Show("Aprobado")
Else
TextBox5.ForeColor = Color.Red
MessageBox.Show("Desaprobado")
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
'borrar las nota para ingresarlas nuevamente
TextBox1.Text = Space(0)
TextBox2.Text = Space(0)
TextBox3.Text = Space(0)
TextBox5.Text = Space(0)
'empezar a llenar desde la nota1
TextBox1.Focus()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 18 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 19 -
Manual de Visual Basic Parte I 2012
EJERCICIOS

Cambiar de color al formulario con el evento doubleclick. Programar el cambio del color de
fondo del formulario al dar doble click. Cambia al dar doble click, cambia de azul a rojo y de
rojo a azul.

Public Class Form1


Private Sub Form1_MouseDoubleClick(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles Me.MouseDoubleClick
If Me.BackColor = Color.Blue Then
Me.BackColor = Color.Red
ElseIf Me.BackColor = Color.Red Then
Me.BackColor = Color.Blue
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 20 -
Manual de Visual Basic Parte I 2012

Resolviendo una ecuacin con tres variables

Public Class Form2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles Button1.Click
Dim x, y, z, r As Double
x = TextBox1.Text
y = TextBox2.Text
z = TextBox3.Text
r = ((2 * Math.Pow(x, 4)) + 3 * Math.Pow(x, 2) * Math.Pow(y, 2)) / (y +
(Math.Sqrt(4 * x * y * Math.Pow(z, 2))) - 2 * z)
TextBox4.Text = r

End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 21 -
Manual de Visual Basic Parte I 2012

Calcular promedios eliminando la menor nota

Public Class Form3

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles Button1.Click
Dim n1, n2, n3, n4, v, p As Double
n1 = TextBox1.Text
n2 = TextBox2.Text
n3 = TextBox3.Text
n4 = TextBox4.Text
v = n1
If n2 < v Then
v = n2
End If
If n3 < v Then
v = n3
End If
If n4 < v Then
v = n4
End If
p = (n1 + n2 + n3 + n4 - v) / 3
TextBox5.Text = p
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 22 -
Manual de Visual Basic Parte I 2012

Calculando el nmero mayor

Public Class Form4


Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Dim n1, n2 As Double
n1 = TextBox1.Text
n2 = TextBox2.Text
If n1 > n2 Then
MessageBox.Show("El nmero mayor es " & n1)
Else
MessageBox.Show("El nmero mayor es " & n2)
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 23 -
Manual de Visual Basic Parte I 2012

Contando la cantidad de checkbox seleccionados

Public Class Form5

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim C As Integer
C = 0
If CheckBox1.Checked Then
C = C + 1

If CheckBox2.Checked Then
C = C + 1
End If
If CheckBox3.Checked Then
C = C + 1
End If
MessageBox.Show("Han sido seleccionados " + Str(C) + " checkbox")
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 24 -
Manual de Visual Basic Parte I 2012

Sueldos y sus descuentos

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 25 -
Manual de Visual Basic Parte I 2012

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim VSB, VDES As Double
VDES = 0
VSB = CDbl(TextBox4.Text)

If CheckBox1.Checked Then
VDES = VDES + VSB * 0.11
End If
If CheckBox2.Checked Then
VDES = VDES + 15
End If
If CheckBox3.Checked Then
VDES = VDES + CDbl(TextBox1.Text)
End If
TextBox2.Text = VDES
TextBox3.Text = CStr(VSB - VDES)
End Sub
Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles CheckBox3.CheckedChanged
TextBox1.Enabled = CheckBox3.Checked
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
TextBox1.Enabled = False
End Sub

Private Sub TextBox1_EnabledChanged(ByVal sender As Object, ByVal e As


System.EventArgs) Handles TextBox1.EnabledChanged
TextBox1.Clear()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 26 -
Manual de Visual Basic Parte I 2012

RADIOBUTTON
Sueldos y sus bonificaciones

Public Class Form2


Private Sub RadioButton1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles RadioButton1.Click
Dim SUEL, OTRO, T As Double
SUEL = TextBox1.Text
OTRO = SUEL * 0.1
T = SUEL + OTRO
TextBox2.Text = OTRO
TextBox3.Text = T
'MessageBox.Show("HOLA SOY EL RADIO BUTTON 1")
End Sub

Private Sub RadioButton2_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles RadioButton2.Click
Dim SUEL, OTRO, T As Double
SUEL = TextBox1.Text
OTRO = SUEL * 0.2
T = SUEL + OTRO
TextBox2.Text = OTRO
TextBox3.Text = T
'MessageBox.Show("HOLA SOY EL RADIO BUTTON 2")
End Sub

Private Sub RadioButton3_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles RadioButton3.Click
Dim SUEL, OTRO, T As Double
SUEL = TextBox1.Text
OTRO = SUEL * 0.35
T = SUEL + OTRO
TextBox2.Text = OTRO
TextBox3.Text = T
'MessageBox.Show("HOLA SOY EL RADIO BUTTON 3")
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 27 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 28 -
Manual de Visual Basic Parte I 2012

EJERCICIOS
INTERFAZ:

Public Class Form6

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Form5.ShowDialog()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button2.Click
Form1.ShowDialog()
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button3.Click
Form2.ShowDialog()
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button4.Click
Form3.ShowDialog()
End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button5.Click
Form4.ShowDialog()
End
1. GENERAR SubNUMEROS ALEATORIOS Y COMPARARLOS

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button6.Click
Me.Close()
End Sub
End Class
COMPARAR

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 29 -
Manual de Visual Basic Parte I 2012

Public Class Form5

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim NUM1, NUM2 As Integer
NUM1 = 1 + Math.Truncate(Rnd() * 12)
NUM2 = 1 + Math.Truncate(Rnd() * 12)
TextBox1.Text = NUM1
TextBox2.Text = NUM2
If NUM1 = NUM2 Then
TextBox3.Text = " = "
ElseIf NUM1 > NUM2 Then
TextBox3.Text = " > "
Else
TextBox3.Text = " < "
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 30 -
Manual de Visual Basic Parte I 2012

2. CALCULAR LA SERIE Y SUMA DE LOS N PRIMEROS NUMEROS DE LA SIGUIENTE


SERIE:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 31 -
Manual de Visual Basic Parte I 2012

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim X, I, TEMP As Integer
Dim S As Double
Dim CAD As String

X = TextBox1.Text
TEMP = 1
CAD = CStr(TEMP)
S = 1

For I = 2 To X Step 1
TEMP = I
CAD = CAD + " , " + CStr(TEMP)
S = S + TEMP
Next
TextBox2.Text = CAD
TextBox3.Text = S
End Sub
End Class

3. CALCULAR LA SERIE Y SUMA DE LOS N PRIMEROS NUMEROS DE LA SIGUIENTE


SERIE:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 32 -
Manual de Visual Basic Parte I 2012

Public Class Form2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim X, I, TEMP As Integer
Dim S As Double
Dim CAD As String

X = TextBox1.Text
TEMP = 2
CAD = CStr(TEMP)
S = TEMP

For I = 2 To X Step 1
TEMP = I * 2
CAD = CAD + " , " + CStr(TEMP)
S = S + TEMP
Next
TextBox2.Text = CAD
TextBox3.Text = S
End Sub
End Class

4. CALCULAR LA SERIE Y SUMA DE LOS N PRIMEROS NUMEROS DE LA SIGUIENTE


SERIE:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 33 -
Manual de Visual Basic Parte I 2012

Public Class Form3


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim X, I, TEMP As Integer
Dim S As Double
Dim CAD As String
S = 5
X = TextBox1.Text
TEMP = 5
CAD = CStr(TEMP)
For I = 1 To X - 1 Step 1
TEMP = TEMP + I
CAD = CAD + " , " + CStr(TEMP)
S = S + TEMP
Next
TextBox2.Text = CAD
TextBox3.Text = S
End Sub
End Class

5. CALCULAR LA SERIE Y SUMA DE LOS N PRIMEROS NUMEROS DE LA SIGUIENTE


SERIE:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 34 -
Manual de Visual Basic Parte I 2012

Public Class Form4

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim X, I, TEMP As Integer
Dim S As Double
Dim CAD As String
S = 2
X = TextBox1.Text * 2
TEMP = 2
CAD = CStr(TEMP)
For I = 1 To X - 2 Step 2
TEMP = TEMP + I + 2
CAD = CAD + " , " + CStr(TEMP)
S = S + TEMP
Next
TextBox2.Text = CAD
TextBox3.Text = S
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 35 -
Manual de Visual Basic Parte I 2012

EJERCICIOS DE REFORZAMIENTO

1.

X Calcular 4 + 2 + 2
=
Y Resultado + 222
Z

RESOLUCIN:

EN MODO DE DISEO:

EL CDIGO:

Public Class Form1


Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim X, Y, Z, R As Double
X = TextBox1.Text
Y = TextBox2.Text
Z = TextBox3.Text
R = (Math.Sqrt(3 * Math.Pow(X, 4) + 2 * X * Math.Pow(Y, 2) * Z) + 5 * Math.Pow(X, 2)
* Y) / (3 + Math.Pow(X, 2) * Math.Pow(Y, 2) * Math.Pow(Z, 2))
TextBox4.Text = R
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 36 -
Manual de Visual Basic Parte I 2012
PANTALLAS (FUNCIONAMIENTO):

2.

NGULO
Calcular
COSENO
SENO
TANGENTE

RESOLUCIN:

EN MODO DE DISEO:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 37 -
Manual de Visual Basic Parte I 2012
EL CDIGO:

PANTALLAS (FUNCIONAMIENTO):

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 38 -
Manual de Visual Basic Parte I 2012
3.

N1 N3
N2 N4

Calcular

MAYOR MENOR

RESOLUCIN:

EN MODO DE DISEO:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 39 -
Manual de Visual Basic Parte I 2012
EL CDIGO:

PANTALLAS (FUNCIONAMIENTO):

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 40 -
Manual de Visual Basic Parte I 2012
4.
SUELDO BRUTO

BONIFICACIN DESCUENTO
10 %
S/. 15
Otro

Calcular

TOTAL BONIFICACIN TOTAL DESCUENTO

SUELDO NETO

RESOLUCIN:

EN MODO DE DISEO:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 41 -
Manual de Visual Basic Parte I 2012

EL CDIGO:

Public Class Form2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim suel, bon, desc, suelnet As Double
desc = 0
suel = TextBox1.Text
If CheckBox1.Checked Then
desc = desc + suel * 0.1
End If
If CheckBox2.Checked Then
desc = desc + 15
End If
If CheckBox3.Checked Then
desc = desc + CDbl(TextBox3.Text)
End If
If RadioButton1.Checked Then
bon = suel * 0.08
End If
If RadioButton2.Checked Then
bon = 500
End If
If RadioButton3.Checked Then
bon = CDbl(TextBox2.Text)
End If
suelnet = suel + bon - desc
TextBox4.Text = bon
TextBox5.Text = desc
TextBox6.Text = suelnet
End Sub
End Class

PANTALLAS (FUNCIONAMIENTO):

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 42 -
Manual de Visual Basic Parte I 2012

5.

LIBROS

ORACLE ng (S/. 80.99)


SQL SERVER 2008 (S/. 75.00)
PHP Y MY SQL (S/. 65.50)
Google APPS (S/. 150.00)
Windows Server 2008 (S/. 180.75)

Calcular

Cantidad de Libros

Monto a Pagar

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 43 -
Manual de Visual Basic Parte I 2012
RESOLUCIN:

EN MODO DE DISEO:

EL CDIGO:

Public Class Form3

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
Dim c, monto As Double
c = 0
monto = 0
If CheckBox1.Checked Then
c = c + 1
monto = monto + 80.99
End If
If CheckBox2.Checked Then
c = c + 1
monto = monto + 75.0
End If
If CheckBox3.Checked Then
c = c + 1
monto = monto + 65.5
End If
If CheckBox4.Checked Then
c = c + 1
monto = monto + 150.0
End If
If CheckBox5.Checked Then
c = c + 1
monto = monto + 180.75
End If
TextBox1.Text = c
TextBox2.Text = monto
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 44 -
Manual de Visual Basic Parte I 2012
PANTALLAS (FUNCIONAMIENTO):

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 45 -
Manual de Visual Basic Parte I 2012
6.

Nmero 1 Nmero 2

OPERACIN

RESPUESTA

RESOLUCIN:

EN MODO DE DISEO:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 46 -
Manual de Visual Basic Parte I 2012
EL CDIGO:

Public Class Form4


Private Sub RadioButton1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles RadioButton1.Click
TextBox3.Text = CDbl(TextBox1.Text) + CDbl(TextBox2.Text)
'RadioButton1.Checked = False
End Sub
Private Sub RadioButton2_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles RadioButton2.Click
TextBox3.Text = CDbl(TextBox1.Text) - CDbl(TextBox2.Text)
End Sub
Private Sub RadioButton3_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles RadioButton3.Click
If TextBox2.Text = 0 Then
MessageBox.Show("NO SE PUEDE DIVIDIR ENTRE 0")
Else
TextBox3.Text = CDbl(TextBox1.Text) / CDbl(TextBox2.Text)
End If
End Sub
Private Sub RadioButton4_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles RadioButton4.Click
TextBox3.Text = CDbl(TextBox1.Text) * CDbl(TextBox2.Text)
End Sub
End Class

PANTALLAS (FUNCIONAMIENTO):

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 47 -
Manual de Visual Basic Parte I 2012

7.

Nmero 1 Nmero 2

Verificar

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 48 -
Manual de Visual Basic Parte I 2012
RESOLUCIN:

EN MODO DE DISEO:

EL CDIGO:

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles Button1.Click
If TextBox1.Text > TextBox2.Text Then
Label3.Text = " > "
ElseIf TextBox1.Text < TextBox2.Text Then
Label3.Text = " < "
Else
Label3.Text = " = "
End If
End Sub
PANTALLAS (FUNCIONAMIENTO):
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 49 -
Manual de Visual Basic Parte I 2012

8.

NMERO AL AZAR (1-100)

MOSTRAR

SUMA DE NMEROS

MXIMO NMERO

MNIMO NMERO

PROMEDIO

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 50 -
Manual de Visual Basic Parte I 2012
RESOLUCIN:

EN MODO DE DISEO:

EL CDIGO:

Public Class Form8


Private Sub Form8_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Randomize()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim X, temp As Integer
Dim S, MAY, MEN, i As Double
Dim cad As String
X = TextBox1.Text
temp = CInt(1 + Rnd() * 100)
S = temp
cad = CStr(temp)
MAY = temp
MEN = temp
For i = 2 To X
temp = CInt(1 + Rnd() * 100)
cad = cad + " - " + CStr(temp)
S = S + temp
MAY = Math.Max(MAY, temp)
MEN = Math.Min(MEN, temp)
Next
TextBox2.Text = S
TextBox3.Text = MAY
TextBox4.Text = MEN
TextBox5.Text = S / X
TextBox6.Text = cad
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 51 -
Manual de Visual Basic Parte I 2012
PANTALLAS (FUNCIONAMIENTO):

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 52 -
Manual de Visual Basic Parte I 2012
EJERCICOS

RESOLVER LAS SIGUIENTES SERIES

INTERFAZ PARA TODAS LAS SERIES:

1.
2, 5, 10, 17, 26, ...

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles Button1.Click
Dim s, c, t, nt, incre As Integer
s = 0
c = 1
t = 2
nt = TextBox1.Text
incre = 3
While c <= nt
Label4.Text = Label4.Text + CStr(t)
If c <= nt Then
Label4.Text = Label4.Text + ", "
s = s + t
t = t + incre
c = c + 1
incre = incre + 2
End If
End While
TextBox2.Text = s
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 53 -
Manual de Visual Basic Parte I 2012

2.

2, -4, 6, -8, 10, -12, ...

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles Button1.Click
Dim s, c, t, nt As Integer
s = 0
c = 1
t = 2
nt = TextBox1.Text

While c <= nt
' Label4.Text = Label4.Text + CStr(t)
If c Mod 2 = 0 Then
t = t * -1
End If
Label4.Text &= CStr(t)
If c < nt Then
Label4.Text &= ", "
If c = 10 Then
Label4.Text &= Label4.Text + Chr(13)
End If
End If
s = s + t
t = Math.Abs(t) + 2
c = c + 1
End While
TextBox2.Text = s

End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 54 -
Manual de Visual Basic Parte I 2012

3.

-5, 10, -15, 20, -25, 30, ...

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles Button1.Click
Dim s, c, t, nt As Integer
s = 0
c = 1
t = 5
nt = TextBox1.Text

While c <= nt
' Label4.Text = Label4.Text + CStr(t)
If c Mod 2 = 0 Then
t = t * -1
End If
Label4.Text &= CStr(t)
If c < nt Then
Label4.Text &= ", "
If c = 10 Then
Label4.Text &= Label4.Text + Chr(13)
End If
End If
s = s + t
t = Math.Abs(t) + 5
c = c + 1
End While
TextBox2.Text = s

End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 55 -
Manual de Visual Basic Parte I 2012

////////////////TAREA///////////////////////

1, 1, 2, 4, 7, 13, 24, ...

4. Serie de Fibonacci: LOS PRIMEROS N NMEROS DE LA SERIE Y LA SUMA

1, 1, 2, 3, 5, 8, 13, 21, ...

Public Class Form1


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim c, tant, tact, nt, temp, s As Integer
c = 2
tant = 1
tact = 1
s = tant
nt = TextBox1.Text
Label1.Text = CStr(tant)
While c <= nt
Label1.Text = Label1.Text + ", " + CStr(tact)
s = s + tact
temp = tact
tact = tant + tact
tant = temp
c = c + 1
End While
TextBox2.Text = s
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 56 -
Manual de Visual Basic Parte I 2012

LISTBOX

Public Class Form2


Dim I As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
ListBox1.Items.Add(TextBox1.Text)
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button2.Click
TextBox2.Text = ListBox1.Items.Count
End Sub

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ListBox1.SelectedIndexChanged
TextBox3.Text = ListBox1.SelectedItem(ListBox1.SelectedIndex)
TextBox3.Text = ListBox1.SelectedItem
TextBox4.Text = ListBox1.SelectedIndex + 1
ListBox1.Items.RemoveAt(0)
'ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 57 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 58 -
Manual de Visual Basic Parte I 2012

EJERCICIOS
1.
AGREGAR
ALUMNOS:
LISTA DE ALUMNOS:

TOTAL DE ALUMNOS:

Public Class Form1

Private Sub Button1_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
If Trim(TextBox1.Text) = "" Then
MessageBox.Show("ingresa un alumno")
TextBox1.Focus()

Else : ListBox1.Items.Add(TextBox1.Text)
TextBox2.Text = ListBox1.Items.Count()
TextBox1.Text = Space(0)
TextBox1.Focus()
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 59 -
Manual de Visual Basic Parte I 2012
2. LIBROS

Public Class Form2

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
ListBox1.Items.Add("SQL SERVER 2008")
ListBox1.Items.Add("BASE DE DATOS AVANZADAS")
ListBox1.Items.Add("ORACLE")
ListBox1.Items.Add("VISUAL STUDIO 2010")
ListBox1.Items.Add("OFICCE")
ListBox1.Items.Add("MACROMEDIA FLASH MX")
ListBox1.Items.Add("WINDOWS 2008")
ListBox1.Items.Add("TIMERS")
ListBox1.Items.Add("TEXTOS DE CUENTOS")
ListBox1.Items.Add("HOJAS DE CALCUOLO")
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
ListBox2.Items.Add(ListBox1.SelectedItem)
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button2.Click
ListBox1.Items.Add(ListBox2.SelectedItem)
ListBox2.Items.RemoveAt(ListBox2.SelectedIndex)
HAREMOS
End SubCLICK EN EL PRIMER BOTN ELIGIENDO EL LIBRO QUE DESEAMOS
COMPRAR;
End Class AS PASAR A LA LISTA DE LIBROS POR COMPRAR

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 60 -
Manual de Visual Basic Parte I 2012

CUANDO NOS EQUIVOQUEMOS EN ELEGIR UN LIBRO HAREMOS CLIC EN EL


SEGUNDO BOTN ELIGIENDO EL LIBRO YA NO DESEADO, ENTONCES PASAR
A LA LISTA DE LIBROS

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 61 -
Manual de Visual Basic Parte I 2012
3. CODIGOS
A001 CDIGO
A002
A003 NOMBRE ARTCULO
A004 PRECIO
A005
STOCK
A006

Public Class Form3

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles ListBox1.SelectedIndexChanged
TextBox1.Text = ListBox1.SelectedItem
PictureBox1.Image = Image.FromFile("I" + CStr(ListBox1.SelectedIndex) + ".jpg")
Select Case (ListBox1.SelectedIndex)
Case 0
TextBox2.Text = "laptop"
TextBox3.Text = "2800"
TextBox4.Text = "5"

Case 1
TextBox2.Text = "teclado"
TextBox3.Text = "250"
TextBox4.Text = "105"

Case 2
TextBox2.Text = "mouse"
TextBox3.Text = "100"
TextBox4.Text = "50"

Case 3
TextBox2.Text = "monitor"
TextBox3.Text = "560"
TextBox4.Text = "85"

Case 4
TextBox2.Text = "CPU"
TextBox3.Text = "560"
TextBox4.Text = "85"

Case Else
TextBox2.Text = "otrito"
TextBox3.Text = "560"
TextBox4.Text = "85"

End Select
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 62 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 63 -
Manual de Visual Basic Parte I 2012
4.

Public Class Form4


Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim n1, n2, n3 As Integer
Dim saldo As Integer

n1 = (Math.Truncate(Rnd() * 5))
n2 = (Math.Truncate(Rnd() * 5))
n3 = (Math.Truncate(Rnd() * 5))

PictureBox1.Image = Image.FromFile("I" +
CStr(n1) + ".jpg")
PictureBox2.Image = Image.FromFile("I" +
CStr(n2) + ".jpg")
PictureBox3.Image = Image.FromFile("I" +
CStr(n3) + ".jpg")

If n1 = n2 = n3 Then
MessageBox.Show("Ganaste!!!")
ElseIf n1 = 0 And n2 = 0 And n3 = 0 Then
MessageBox.Show("ganaste!!!" + CStr(100))

ElseIf n1 = 0 And n2 = 0 And n3 = 2 Then


MessageBox.Show("ganaste!!!" + CStr(50))

ElseIf n1 = 2 And n2 = 3 And n3 = 1 Then


MessageBox.Show("ganaste!!!" + CStr(25))

ElseIf n1 = 1 And n2 = 1 And n3 = 5 Then


MessageBox.Show("ganaste!!!" + CStr(900))

End If
saldo = 50
saldo = saldo - 1
saldo = saldo
Label6.Text = saldo
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 64 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 65 -
Manual de Visual Basic Parte I 2012

5.

Public Class Form3

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button1.Click
Dim N1, N2 As Integer
N1 = (Math.Truncate(Rnd() * 11) + 1)
N2 = (Math.Truncate(Rnd() * 11) + 1)

PictureBox1.Image = Image.FromFile("C" + CStr(N1) + ".png")


PictureBox2.Image = Image.FromFile("C" + CStr(N2) + ".png")

If N1 > N2 Then
Label1.Text = " > "
ElseIf N1 < N2 Then
Label1.Text = " < "
Else
Label1.Text = " = "
End If

End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 66 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 67 -
Manual de Visual Basic Parte I 2012
JUEGO DE TRES EN RAYA

El Tres en Raya es un juego muy popular.

Objetivo: El objetivo de este juego es lograr formar una lnea recta con X o 0 en forma
horizontal, vertical o diagonal.

Reglas:

Se puede jugar solamente entre dos personas X y 0.


Se seleccionar aquel que empiece primero x o 0.
Despus de hacer clic en las celdas en los diferentes turnos de cada jugador. Ganar
aquel que haya cumplido con el objetivo del juego, iniciando as otro juego.

Juego en Visual Basic:

Modo Diseo:

Modo de programacin o ejecucin

Public Class Form1


Dim nj As Integer
Dim c As Integer
Sub REINICIAR()
Dim OBJ As Control
For Each OBJ In Me.Controls
If TypeOf OBJ Is PictureBox Then
Dim IMG As PictureBox
OBJ.Tag = ""
IMG = OBJ
IMG.Image = Nothing
End If
'MessageBox.Show(OBJ.Name)
nj = 0
c=0
RadioButton1.Enabled = True
RadioButton1.Checked = True
RadioButton2.Checked = False
RadioButton2.Enabled = True
Next
End Sub

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 68 -
Manual de Visual Basic Parte I 2012
Private Sub C11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles C11.Click, C12.Click, C13.Click, C21.Click,
C22.Click, C23.Click, C31.Click, C32.Click, C33.Click
If nj <= 1 Then
RadioButton1.Enabled = False
RadioButton2.Enabled = False
End If
If sender.tag = "" Then
If nj Mod 2 = 0 Then
sender.image = Image.FromFile("I:\x.png")
sender.tag = "x"
Else
sender.image = Image.FromFile("I:\o.png")
sender.tag = "o"
End If
nj += 1
c += 1
Else
MessageBox.Show("Celda Ocupada por: " + sender.tag)
End If
If C11.Tag = sender.tag And C12.Tag = sender.tag And C13.Tag = sender.tag Then
MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO")
REINICIAR()
ElseIf C11.Tag = sender.tag And C21.Tag = sender.tag And C31.Tag = sender.tag Then
MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO")
REINICIAR()
ElseIf C13.Tag = sender.tag And C23.Tag = sender.tag And C33.Tag = sender.tag Then
MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO")
REINICIAR()
ElseIf C31.Tag = sender.tag And C32.Tag = sender.tag And C33.Tag = sender.tag Then
MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO")
REINICIAR()
ElseIf C11.Tag = sender.tag And C22.Tag = sender.tag And C33.Tag = sender.tag Then
MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO")
REINICIAR()
ElseIf C13.Tag = sender.tag And C22.Tag = sender.tag And C31.Tag = sender.tag Then
MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO")
REINICIAR()
ElseIf C21.Tag = sender.tag And C22.Tag = sender.tag And C23.Tag = sender.tag Then
MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO")
REINICIAR()
ElseIf C12.Tag = sender.tag And C22.Tag = sender.tag And C32.Tag = sender.tag Then
MsgBox("BIEN HECHO, GANO " + sender.tag, MsgBoxStyle.Information, "ACIERTO")
REINICIAR()
ElseIf c = 9 Then
MsgBox("EL JUEGO TERMIN, NO HAY GANADOR", MsgBoxStyle.Critical, "DESACIERTO")
REINICIAR()
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
nj = 1
c=0
End Sub
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
RadioButton1.CheckedChanged
nj = 0
End Sub
Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
RadioButton2.CheckedChanged
nj = 1
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
REINICIAR()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 69 -
Manual de Visual Basic Parte I 2012

Cmo funciona?

Como determinado esta check el aspa o cruz, se empieza a jugar:

Caso cuando gana X:

Se puede elegir que empiece el crculo:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 70 -
Manual de Visual Basic Parte I 2012
Cuando se arrepienten del juego se puede reiniciar:

Caso cuando gana la o:

Caso que no hay ganador:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 71 -
Manual de Visual Basic Parte I 2012
INCLUIR JUEGOS

JUEGO DE BUSCAMINAS

1. El Buscaminas es un juego aparentemente sencillo de memoria y lgica, adems


de ser uno de los juegos ms populares.

Objetivo: Encontrar los recuadros vacos y evitar las minas.

El tablero: Es una matriz de 6 x 6 (seis filas y seis columnas) y aleatoriamente estn 6


minas en diferentes casilleros.

Cmo jugar

Las reglas del Buscaminas son simples:

1. Si se descubre una mina termina el juego. Se hace clic en el botn Reiniciar para
empezar otro.
2. Si se desea reiniciar antes se hace clic en el botn Reiniciar.
3. Si se descubre una carta de un as corazones sigue el juego.

En Visual Basic

Modo de diseo

Cdigo:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 72 -
Manual de Visual Basic Parte I 2012
PublicClassBuscaminas
DimV(36) AsInteger
Dim I, N AsInteger
SubREINICIAR()
Dim OBJ AsControl

ForEach OBJ InMe.Controls


IfTypeOf OBJ IsPictureBoxThen
Dim IMG AsPictureBox
OBJ.Tag = ""
IMG = OBJ
IMG.Image = Nothing
IMG.Enabled = True
EndIf
I=0
N=0
Next
EndSub

Subaleatorio()
Randomize()
Dim VAR, C AsInteger
VAR = 1
While VAR > 0
VAR = 0
I = Math.Truncate(Rnd() * 36 + 1) 'genera un numero aleatorio en un rango de 1-36
For C = 0 To N
If V(C) = I Then
VAR += 1
EndIf
Next
EndWhile
V(N) = I
N += 1
EndSub

PrivateSub C11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles C11.Click, C12.Click, C13.Click, C14.Click, C15.Click, C16.Click, C21.Click,
C22.Click, C23.Click, C24.Click, C25.Click, C26.Click, C31.Click, C32.Click, C33.Click,
C34.Click, C35.Click, C36.Click, C41.Click, C42.Click, C43.Click, C44.Click, C45.Click,
C46.Click, C51.Click, C52.Click, C53.Click, C54.Click, C55.Click, C56.Click, C61.Click,
C62.Click, C63.Click, C64.Click, C65.Click, C66.Click
aleatorio()
sender.tag = CStr(i)
If I = 1 Or I = 2 Or I = 3 Or I = 4 Or I = 5 Or I = 6 Then
sender.image = Image.FromFile("f:\cartas\0.png")
MsgBox("MINA, PERDISTE", MsgBoxStyle.Critical, "DESACIERTO")
DimobjAsControl
ForEachobjInMe.Controls
IfTypeOfobjIsPictureBoxAndobj.Tag = ""Then

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 73 -
Manual de Visual Basic Parte I 2012
aleatorio()
If I = 1 Or I = 2 Or I = 3 Or I = 4 Or I = 5 Or I = 6 Then
DimimagenAsPictureBox
imagen = obj
imagen.Image = Image.FromFile("f:\cartas\0.png")
EndIf
obj.Tag = CStr(I)
EndIf
Next

Else
sender.image = Image.FromFile("f:\cartas\1.png")
If N = 30 Then
MsgBox("BIEN HECHO, GANASTE!!!", MsgBoxStyle.Information, "ACIERTO")
REINICIAR()
EndIf
EndIf
EndSub

PrivateSub Button1_Click(ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs)


Handles Button1.Click
REINICIAR()
EndSub
EndClass

Pantallas de su funcionamiento

Hacemos clic en Juego de Buscaminas

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 74 -
Manual de Visual Basic Parte I 2012
Se abre El juego

Hacemos clic en cualquiera de las celdas

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 75 -
Manual de Visual Basic Parte I 2012

Se puede encontrar una mina

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 76 -
Manual de Visual Basic Parte I 2012
Enseguida sale el mensaje de Mina, perdiste y aceptamos

Aparecen las seis minas escondidas, hacemos clic en reiniciar para jugar de nuevo

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 77 -
Manual de Visual Basic Parte I 2012
En otra jugada

Otra jugada

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 78 -
Manual de Visual Basic Parte I 2012
JUEGO DE MEMORIA

1. El Juego de Memoria, denominado tambin pescador es un juego, que como el


nombre indica, se necesita tener buena memoria para poder ganarlo.

Objetivo: Encontrar la pareja de una de las imgenes dentro de un grupo de imgenes.

El tablero: Es una matriz de 4 x 4 (cuatro filas y cuatro columnas) y aleatoriamente estn


dispuestas 8 imgenes con sus respectivas parejas.

Al hablar de parejas se hace mencin a la misma imagen.

Cmo jugar

Las reglas del Juego de Memoria son las siguientes:

a) Si se descubre la pareja de la imagen, previamente seleccionada; ambas se


ocultan. Si se desea reiniciar antes se hace clic en el botn Reiniciar.
b) Si no se descubre la imagen, ambas se voltean.

En Visual Basic

Modo de diseo

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 79 -
Manual de Visual Basic Parte I 2012
Cdigo:

Public Class Memoria


Dim ig1 As New PictureBox
Dim ig2 As New PictureBox
Dim imag(16) As PictureBox
Dim vector1(16) As Integer
Dim j, cClick As Integer

Private Sub Memoria_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
Randomize()
cClick = 0
j = -1
End Sub

Function buscaRepet(ByVal ParamArray vector2() As Integer) As Integer 'ASIGNA UN


NUMERO ALEATORIO (1-8) A CADA PICTUREBOX
Dim cont, estado, numero As Integer 'QUE SLO
SE REPITA DOS VECES
estado = 0
j = j + 1
While estado < 1
numero = Int(Rnd() * 8) + 1
cont = 0
For k As Integer = 0 To j
If numero = vector2(k) Then
cont = cont + 1
End If
Next
If cont <= 1 Then
vector2(j) = numero
estado = 1
End If
End While
Return numero
End Function

Sub AsinaImagen(ByVal imagen As PictureBox)


If imagen.Tag Is Nothing Then
imagen.Tag = buscaRepet(vector1)
imagen.Image = Image.FromFile(Application.StartupPath + "\IMAGS\" +
CStr(imagen.Tag) + ".jpg") ' APPLICATION.STARTUPPATH PARA TENER LAS IMGENES EN EL
MISMO PROYECTO
imag(j) = imagen
Else
If imagen.BackColor <> Color.Black Then
imagen.Image = Image.FromFile(Application.StartupPath + "\IMAGS\" +
CStr(imagen.Tag) + ".jpg")
End If
End If
End Sub

Private Sub P34_Click(ByVal sender As Object, ByVal e As System.EventArgs)


Handles P11.Click, P12.Click, P13.Click, P14.Click, P21.Click, P22.Click, P23.Click,

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 80 -
Manual de Visual Basic Parte I 2012
P24.Click, P31.Click, P32.Click, P33.Click, P34.Click, P41.Click, P42.Click,
P43.Click, P44.Click
Dim imgValida As New PictureBox
imgValida = sender
If imgValida.Image Is Nothing And imgValida.BackColor = Color.Pink Then
cClick = cClick + 1
End If
If (cClick = 1) Then
ig1 = sender
AsinaImagen(ig1)
ElseIf (cClick = 2) Then
ig2 = sender
AsinaImagen(ig2)
Else
If ig1.Tag = ig2.Tag Then
ig1.BackColor = Color.Black
ig2.BackColor = Color.Black
ig1.Image = Nothing
ig2.Image = Nothing
ig1 = sender
AsinaImagen(ig1)
ElseIf ig2.Image Is Nothing = False Then
ig1.Image = Nothing
ig2.Image = Nothing
ig1 = sender
AsinaImagen(ig1)
End If
cClick = 1
End If
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
For Z As Integer = 0 To j
imag(Z).BackColor = Color.Pink
imag(Z).Image = Nothing
imag(Z).Tag = Nothing
vector1(Z) = 0
Next
j = -1
cClick = 0
End Sub

End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 81 -
Manual de Visual Basic Parte I 2012
Pantallas de su funcionamiento

Hacemos clic en Juego de Memoria

Se abre El juego

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 82 -
Manual de Visual Basic Parte I 2012
Hacemos clic en cualquiera de las celdas, se nos mostrar una imagen

Hacemos clic en cualquiera de las celdas, para encontrar la pareja

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 83 -
Manual de Visual Basic Parte I 2012
Como las imgenes so son las mismas, se voltearn, haremos click en otra

Seguiremos buscando la imagen de la ltima mostrada, al encontrarla; ambas se


ocultarn:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 84 -
Manual de Visual Basic Parte I 2012
Al hacer click en otra imagen, las imgenes encontradas anteriormente se
ocultarn:

Se seguir la misma secuencia, hasta que se termine el juego:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 85 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 86 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 87 -
Manual de Visual Basic Parte I 2012
Al hacer click en el botn: Reiniciar Juego, se nos mostrar nuevamente la interfaz de
inicio

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 88 -
Manual de Visual Basic Parte I 2012

OBJETO TIMER
OBJETO NO VISIBLE SE ACTIVA EN FUNCIN DEL TIEMPO

METODOS:

TIMER1.START()

TIMER1.STOP() DETENER EL CRONOMETRO

INTERVAL=INTERVALO DE TIEMPO ENTRE CADA EVENTO

1. CAMBIAR DE COLOR AL FORMULARIO.


Public Class Form1
Private Sub Timer1_Tick(sender As
System.Object, e As System.EventArgs)
Handles Timer1.Tick

If Me.BackColor = Color.Blue
Then
Me.BackColor = Color.Red
Else
Me.BackColor = Color.Blue
End If
End Sub

Private Sub Button1_Click(sender As


System.Object, e As System.EventArgs)
Handles Button1.Click
Me.BackColor = Color.Blue
If Button1.Text = "INICIAR"
Then
Timer1.Start()
Button1.Text = "DETENER"
Else
Timer1.Stop()
Button1.Text = "INICIAR"
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 89 -
Manual de Visual Basic Parte I 2012

LEFT,HEIGHT,WIDTH,TOP
HSCROLLBAR

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 90 -
Manual de Visual Basic Parte I 2012

Programando el mismo ejemplo con radioButton:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 91 -
Manual de Visual Basic Parte I 2012

Public Class Form3


Dim direccion As Boolean
Private Sub Form3_Load(sender As System.Object, e As System.EventArgs)
Handles MyBase.Load
direccion = True
HScrollBar1.Value = Timer1.Interval
End Sub

Private Sub Timer1_Tick(sender As System.Object, e As


System.EventArgs) Handles Timer1.Tick
If direccion = True Then
If (PictureBox1.Width + PictureBox1.Left + 10) < Me.Width Then
PictureBox1.Left = PictureBox1.Left + 100
Else
direccion = False
End If
Else
If PictureBox1.Left > 9 Then
PictureBox1.Left = PictureBox1.Left - 100
Else
direccion = True
End If
End If

End Sub
Private Sub HScrollBar1_Scroll(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll
Timer1.Interval = 10000 - HScrollBar1.Value
TextBox1.Text = HScrollBar1.Value
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click
If Button1.Text = "Iniciar" Then
Timer1.Start()
Button1.Text = "Parar"
Else
Timer1.Stop()
Button1.Text = "Iniciar"
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 92 -
Manual de Visual Basic Parte I 2012

MOVIENDO UN OBJETO CON KEYPRESS


MOVIENDO OBJETOS CON KEY DOW
KEY PREVIEW=TRUE
Mover un objeto con las letras:
A=izquieda
S=derecha
W=arriba
Z=abajo

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 93 -
Manual de Visual Basic Parte I 2012

Se puede reemplazar el cdigo:

'If Char.ToUpper(e.KeyChar) = "A" Then


'PictureBox1.Left -= 10
'ElseIf Char.ToUpper(e.KeyChar) = "S" Then
'PictureBox1.Left += 10
'ElseIf Char.ToUpper(e.KeyChar) = "W" Then
'PictureBox1.Top -= 10
'ElseIf Char.ToUpper(e.KeyChar) = "Z" Then
'PictureBox1.Top += 10
'End If

Por un iif anidado:

Public Class Form1

Private Sub Form1_KeyPress(sender As Object, e As


System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
PictureBox1.Left -= IIf(Char.ToUpper(e.KeyChar) = "A", 1, 0)
PictureBox1.Left += IIf(Char.ToUpper(e.KeyChar) = "D", 1, 0)
PictureBox1.Top -= IIf(Char.ToUpper(e.KeyChar) = "W", 1, 0)
PictureBox1.Top += IIf(Char.ToUpper(e.KeyChar) = "Z", 1, 0)
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 94 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 95 -
Manual de Visual Basic Parte I 2012

Moviendo una imagen con las flechas de desplazamiento

Public Class Form1

Private Sub Form1_KeyDown(sender As Object, e As


System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
PictureBox2.Left -= IIf(e.KeyCode = Keys.Left, 10, 0)
PictureBox2.Left += IIf(e.KeyCode = Keys.Right, 10, 0)
PictureBox2.Top -= IIf(e.KeyCode = Keys.Up, 10, 0)
PictureBox2.Top += IIf(e.KeyCode = Keys.Down, 10, 0)

'tambien se puede usar el siguiente cdigo alternativo


'PictureBox2.Left -= IIf(e.KeyCode = 37, 10, 0)
'PictureBox2.Left += IIf(e.KeyCode = 39, 10, 0)
'PictureBox2.Top -= IIf(e.KeyCode = 38, 10, 0)
'PictureBox2.Top += IIf(e.KeyCode = 40, 10, 0)
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 96 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 97 -
Manual de Visual Basic Parte I 2012
MOVIENDO UN OBJETO QUE LE SIGA AL MOUSE CON EL EVENTO MOUSEMOVE

Public Class EJER2

Private Sub EJER2_MouseMove(sender As Object, e As


System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
'PictureBox1.Left = PictureBox1.Left + 10
'PictureBox1.Location = MousePosition
Label1.Text = "X: " + CStr(e.X) + " y: " + CStr(e.Y)
PictureBox1.Left = e.X
PictureBox1.Top = e.Y

End Sub

Private Sub PictureBox1_MouseMove(sender As Object, e As


System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
Label2.Text = "X: " + CStr(e.X) + " y: " + CStr(e.Y)
PictureBox1.Left += e.X
PictureBox1.Top += e.Y

End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 98 -
Manual de Visual Basic Parte I 2012

MOVER UNA IMAGEN SOBRE UN OBJETO ARRASTRE

Public Class Form1


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'el picture 2 podr recepcionar el objeto arrastrado
PictureBox2.AllowDrop = True
End Sub
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
PictureBox1.DoDragDrop(PictureBox1.Image, DragDropEffects.Copy)
End Sub
Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles PictureBox2.Click
' clic compuesto por dos mouse down y mouse up
End Sub
Private Sub PictureBox2_DragDrop(sender As Object, e As
System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragDrop
PictureBox2.Image = e.Data.GetData(DataFormats.Bitmap)

End Sub
Private Sub PictureBox2_DragEnter(ByVal sender As Object, ByVal e As
System.Windows.Forms.DragEventArgs) Handles PictureBox2.DragEnter
If e.Data.GetDataPresent(DataFormats.Bitmap) Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 99 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 100 -
Manual de Visual Basic Parte I 2012

RECEPCIONANDO UNA IMAGEN EN UNA MATRIZ EJEMPLO EL JUEGO


DE TRES EN RAYA

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 101 -
Manual de Visual Basic Parte I 2012

Public Class Form2


Dim c As Integer
Private Sub Form2_Load(sender As System.Object, e As
System.EventArgs) Handles MyBase.Load
'LAS CELDAS podrN recepcionar el objeto arrastrado
c11.AllowDrop = True
c12.AllowDrop = True
c13.AllowDrop = True
c21.AllowDrop = True
c22.AllowDrop = True
c23.AllowDrop = True
c31.AllowDrop = True
c32.AllowDrop = True
c33.AllowDrop = True
End Sub
Private Sub PictureBox1_MouseMove(sender As Object, e As
System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
PictureBox1.DoDragDrop(PictureBox1.Image, DragDropEffects.Copy)
End Sub
Private Sub PictureBox2_MouseMove(sender As Object, e As
System.Windows.Forms.MouseEventArgs) Handles PictureBox2.MouseMove
PictureBox2.DoDragDrop(PictureBox2.Image, DragDropEffects.Copy)
End Sub

Private Sub PictureBox2_Click(sender As System.Object, e As


System.EventArgs) Handles PictureBox2.Click
' clic compuesto por dos mouse down y mouse up
End Sub
Private Sub c11_DragDrop(sender As Object, e As
System.Windows.Forms.DragEventArgs) Handles c11.DragDrop, c12.DragDrop,
c13.DragDrop, c21.DragDrop, c22.DragDrop, c23.DragDrop, c31.DragDrop,
c32.DragDrop, c33.DragDrop
sender.Image = e.Data.GetData(DataFormats.Bitmap)
End Sub

Private Sub c11_DragEnter(sender As Object, e As


System.Windows.Forms.DragEventArgs) Handles c11.DragEnter, c12.DragEnter,
c13.DragEnter, c21.DragEnter, c22.DragEnter, c23.DragEnter,
c31.DragEnter, c32.DragEnter, c33.DragEnter
If e.Data.GetDataPresent(DataFormats.Bitmap) Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = Not (DragDropEffects.None)
End If
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 102 -
Manual de Visual Basic Parte I 2012

ARMAR UN ROMPECABEZAS

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 103 -
Manual de Visual Basic Parte I 2012

Public Class Form3


Dim var As Integer
Dim objeto As PictureBox
Private Sub Form2_Load(sender As System.Object, e As
System.EventArgs) Handles MyBase.Load
PictureBox5.AllowDrop = True
PictureBox6.AllowDrop = True
PictureBox7.AllowDrop = True
PictureBox8.AllowDrop = True
End Sub
Private Sub PictureBox5_DragDrop(ByVal sender As Object, ByVal e As
System.Windows.Forms.DragEventArgs) Handles PictureBox5.DragDrop,
PictureBox6.DragDrop, PictureBox7.DragDrop, PictureBox8.DragDrop
sender.Image = e.Data.GetData(DataFormats.Bitmap)
End Sub
Private Sub PictureBox5_DragEnter(ByVal sender As Object, ByVal e As
System.Windows.Forms.DragEventArgs) Handles PictureBox5.DragEnter,
PictureBox6.DragEnter, PictureBox7.DragEnter, PictureBox8.DragEnter
If e.Data.GetDataPresent(DataFormats.Bitmap) Then
If sender.tag = var Then
e.Effect = DragDropEffects.Copy
' objeto.Image = Nothing
End If
End If
End Sub
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove,
PictureBox2.MouseMove, PictureBox3.MouseMove, PictureBox4.MouseMove
sender.DoDragDrop(sender.Image, DragDropEffects.Copy)
var = CInt(sender.tag)
objeto = sender

End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 104 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 105 -
Manual de Visual Basic Parte I 2012

CON ARRASTRE COPIAR EL TEXTO DE UN TEXTBOX A OTRO

Public Class Form4


Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
TextBox1.AllowDrop = True
End Sub
Private Sub TextBox2_MouseMove(ByVal sender As Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles TextBox2.MouseMove
If TextBox2.Text = "" Then
Else : TextBox1.DoDragDrop(TextBox2.Text, DragDropEffects.Copy)
End If
End Sub
Private Sub TextBox1_DragDrop(ByVal sender As Object, ByVal e As
System.Windows.Forms.DragEventArgs) Handles TextBox1.DragDrop
sender.text = e.Data.GetData(DataFormats.Text)
End Sub
Private Sub TextBox1_DragEnter(ByVal sender As Object, ByVal e As
System.Windows.Forms.DragEventArgs) Handles TextBox1.DragEnter
If TextBox2.Text = "" Then
Else
If e.Data.GetDataPresent(DataFormats.Text) Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
End If
TextBox2.Text = ""
TextBox2.Focus()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 106 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 107 -
Manual de Visual Basic Parte I 2012

VENTANAS CON MEN


Para llamar a un aformulario

Dim FM1 As New consulta2


FM1.MdiParent = Me 'FM1 PERYENECE A UN FORM MDI Y SU PADRE ES ME.FORM1
FM1.Show()

Para cerrar un formulario que est abierto con una opcin se escribe el siguiente cdigo
Me.Close()

Public Class Form1


Private Sub
ProductosPorCategoriaToolStripMenuItem_Click(ByVa
l sender As System.Object, ByVal e As
System.EventArgs) Handles
ProductosPorCategoriaToolStripMenuItem.Click
Dim FM1 As New consulta1
FM1.MdiParent = Me 'FM1 PERYENECE A UN
FORM MDI Y SU PADRE ES ME.FORM1
FM1.Show()
End Sub

Private Sub
ClientesPorCiudadToolStripMenuItem_Click(sender
As System.Object, e As System.EventArgs) Handles
ClientesPorCiudadToolStripMenuItem.Click
Dim FM1 As New consulta2
FM1.MdiParent = Me 'FM1 PERYENECE A UN
FORM MDI Y SU PADRE ES ME.FORM1
FM1.Show()
End Sub

Private Sub
SALIRToolStripMenuItem1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles SALIRToolStripMenuItem1.Click
Me.Close()
End Sub

Private Sub
SALIRToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)

Un formulario consulta1 sin codigo

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 108 -
Manual de Visual Basic Parte I 2012

Un formulario consulta20 sin codigo

Funcionamiento

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 109 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 110 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 111 -
Manual de Visual Basic Parte I 2012
REALIZACIN DE UN PROYECTO DE SOFTWARE
Empezaremos con crear el programa:

Crear la ventana principal men

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 112 -
Manual de Visual Basic Parte I 2012

Public Class Form1


Private Sub CLOUDCOMPUTINGToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles CLOUDCOMPUTINGToolStripMenuItem.Click
Dim frn As New Form2
frn.MdiParent = Me
frn.Show()
CLOUDCOMPUTINGToolStripMenuItem.Enabled = False
End Sub
Private Sub WIFIToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles WIFIToolStripMenuItem.Click
Dim frn As New Form3
frn.MdiParent = Me
frn.Show()
WIFIToolStripMenuItem.Enabled = False
End Sub
Private Sub VideoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles VideoToolStripMenuItem.Click
Dim frn As New Form4
frn.MdiParent = Me
frn.Show()
VideoToolStripMenuItem.Enabled = False
End Sub
Private Sub BISNESSINTELLIGENCEToolStripMenuItem_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles BISNESSINTELLIGENCEToolStripMenuItem.Click
Dim frn As New Form5
frn.MdiParent = Me
frn.Show()
BISNESSINTELLIGENCEToolStripMenuItem.Enabled = False
End Sub
Private Sub CASCADAToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles CASCADAToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.Cascade)
End Sub
Private Sub HORIZONTALToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles HORIZONTALToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.TileHorizontal)
End Sub
Private Sub VERTICALToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles VERTICALToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.TileVertical)
End Sub
creando
Private los formularios
Sub SALIRToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As
o De la conferencia
System.EventArgs) Handles Cloud Computing
SALIRToolStripMenuItem.Click
Me.Close()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Me.MenuStrip1.MdiWindowListItem = VENTANAToolStripMenuItem
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 113 -
Manual de Visual Basic Parte I 2012

Public Class Form2


Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Form1.CLOUDCOMPUTINGToolStripMenuItem.Enabled = True
Try
PictureBox1.Image = Image.FromFile("cloud.png")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Try
RichTextBox1.LoadFile("Compu.rtf")
o Un formulario para nvegar por el internet (Wifi)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 114 -
Manual de Visual Basic Parte I 2012

Public Class Form3


Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'WebBrowser1.Navigate("www.google.com")
Form1.WIFIToolStripMenuItem.Enabled = True
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
WebBrowser1.Navigate(TextBox1.Text)
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 115 -
Manual de Visual Basic Parte I 2012

o Un formulario donde se pueda observar el video

Public Class Form4


Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
AxWindowsMediaPlayer1.URL = "Wildlife.wmv"
Form1.VideoToolStripMenuItem.Enabled = True
End Subo Un formulario para la conferencia bisness intelligence
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 116 -
Manual de Visual Basic Parte I 2012

Public Class Form5

Private Sub Form5_Disposed(sender As Object, e As


System.EventArgs) Handles Me.Disposed
Form1.BISNESSINTELLIGENCEToolStripMenuItem.Enabled = True
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 117 -
Manual de Visual Basic Parte I 2012
Funcionamiento

Pantalla principal

Escogiendo la opcin bisness Intelligent

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 118 -
Manual de Visual Basic Parte I 2012

Escogiendo la opcin Cloud computing

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 119 -
Manual de Visual Basic Parte I 2012
Escogiendo la opcin wifi

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 120 -
Manual de Visual Basic Parte I 2012
Escogiendo la opcin video

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 121 -
Manual de Visual Basic Parte I 2012
Escogiendo la opcin ventanacascada

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 122 -
Manual de Visual Basic Parte I 2012
Escogiendo la opcin ventanahorizontal

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 123 -
Manual de Visual Basic Parte I 2012
Escogiendo la opcin ventanavertical

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 124 -
Manual de Visual Basic Parte I 2012
Escogiendo que formulario deseamos que est en primer plano

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 125 -
Manual de Visual Basic Parte I 2012

Escogiendo la opcin salir

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 126 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 127 -
Manual de Visual Basic Parte I 2012

EJERCICIOS
1. CREAR UN FORMULARIO DONDE SI SE SELECCIONA UNA DETERMINADA CIUDAD
APARECER UNA INFORMACIN DE ELLA, UNA FOTO Y UN VIDEO.

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 128 -
Manual de Visual Basic Parte I 2012

Public Class Form1


Private Sub RadioButton1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles
RadioButton1.CheckedChanged, RadioButton2.CheckedChanged
If RadioButton1.Checked = True Then
Try
PictureBox1.Image = Image.FromFile("Lighthouse.jpg")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Try
RichTextBox1.LoadFile("Corazn Nuevo.rtf")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
AxWindowsMediaPlayer1.URL = "hindu01.wmv"
AxWindowsMediaPlayer1.Ctlcontrols.stop()
ElseIf RadioButton2.Checked = True Then
Try
PictureBox1.Image = Image.FromFile("Desert.jpg")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Try
RichTextBox1.LoadFile("CUZCO.rtf")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
AxWindowsMediaPlayer1.URL = "hindu02.wmv"
AxWindowsMediaPlayer1.Ctlcontrols.stop()
ElseIf RadioButton3.Checked = False Then
Try
PictureBox1.Image = Image.FromFile("Hydrangeas.jpg")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Try
RichTextBox1.LoadFile("AREQUIPA.rtf")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
AxWindowsMediaPlayer1.URL = "hindu03.wmv"
End If
End Sub
Private Sub RadioButton3_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles
RadioButton3.CheckedChanged
Try
PictureBox1.Image = Image.FromFile("Hydrangeas.jpg")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Try
RichTextBox1.LoadFile("AREQUIPA.rtf")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
AxWindowsMediaPlayer1.URL = "hindu03.wmv"
AxWindowsMediaPlayer1.Ctlcontrols.stop()
End Sub
End Class
Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I
- 129 -
Manual de Visual Basic Parte I 2012
SELECCIONANDO LA CIUDAD DE CAJAMARCA SELECCIONANDO LA CIUDAD DE CUZCO

SELECCIONANDO LA CIUDAD DE AREQUIPA

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 130 -
Manual de Visual Basic Parte I 2012
2. SELECICIONANDO DE UNA LISTA A UNA PGINA WEB RPIDAMENTE SE DEBER
MOSTRAR DICHA PGINA EN EL LADO DERECHO:

Public Class Form2


Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Select Case (ListBox1.SelectedIndex)
Case 0
WebBrowser1.Navigate("WWW.GOOGLE.COM")
Case 1
WebBrowser1.Navigate("WWW.UNC.EDU.PE")
Case 2
WebBrowser1.Navigate("WWW.CALETA.COM")
Case 3
WebBrowser1.Navigate("WWW.HOTMAIL.COM")
Case 4
WebBrowser1.Navigate("WWW.FACEBOOK.COM")
Case 5
WebBrowser1.Navigate("WWW.WIKIPEDIA.COM")
Case Else
End Select
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 131 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 132 -
Manual de Visual Basic Parte I 2012
3. INICIAR UN VIDEO A TRAVS DE UN RADIOBOTTON APARECER EL SMBOLO DE
PLAY PARA INICIAR EL VIDEO, CAMBIAR AL SMBOLO DE PARAR PARA REINICIAR
EL VIDEO.

Public Class Form3


Dim P As Integer
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs)
Handles Button1.Click
If P = 1 Then
Button1.Image = Image.FromFile("I1.JPG")
AxWindowsMediaPlayer1.Ctlcontrols.stop()
P = 2
ElseIf P = 2 Then
Button1.Image = Image.FromFile("I2.JPG")
AxWindowsMediaPlayer1.Ctlcontrols.play()
P = 1
End If
End Sub
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
P = 2
Button1.Text = ""
Button1.Image = Image.FromFile("I1.JPG")
AxWindowsMediaPlayer1.URL = "hindu05.wmv"
AxWindowsMediaPlayer1.Ctlcontrols.stop()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 133 -
Manual de Visual Basic Parte I 2012
FUNCIONAMIENTO

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 134 -
Manual de Visual Basic Parte I 2012

OBJETO TOOLSTRIP CON IMAGELIST

4. CREAR UN MEN Y LLAMAR ATRAVS DE UN TOOLSTRIP PONER IMGENES Y


LLAMAR A CUATRO FORMULARIOS

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 135 -
Manual de Visual Basic Parte I 2012
LOS FORMULARIOS TENDRN DIFEENTE COLOR PARA PODERLOS DISTINGUIR

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 136 -
Manual de Visual Basic Parte I 2012
PARA CUANDO PASE EL MOUSE ENCIMA DE UNA IMAGEN SALDR EL NOMBRE DE
UNA ACTIVIDAD: ESTO ES CON LA PROPIEDAD TOOLTIPTEX.
EJEMPLO:

VISTA PREVIA:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 137 -
Manual de Visual Basic Parte I 2012

CDIGO:

Public Class Form5


Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
ToolStrip1.ImageList = ImageList1
ToolStripButton1.ImageIndex = 0
ToolStripButton2.ImageIndex = 1
ToolStripButton3.ImageIndex = 2
ToolStripButton4.ImageIndex = 3
End Sub
Private Sub ToolStripButton1_Click_1(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Dim FRM As New Form6
FRM.MdiParent = Me
FRM.Show()
End Sub
Private Sub ToolStripButton2_Click_1(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ToolStripButton2.Click
Dim FRM As New Form7
FRM.MdiParent = Me
FRM.Show()
End Sub
Private Sub ToolStripButton3_Click_1(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ToolStripButton3.Click
Dim FRM As New Form8
FRM.MdiParent = Me
FRM.Show()
End Sub
Private Sub ToolStripButton4_Click_1(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ToolStripButton4.Click
Dim FRM As New Form9
FRM.MdiParent = Me
FRM.Show()
End Sub
Private Sub SALIRToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
SALIRToolStripMenuItem.Click
Me.Close()
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 138 -
Manual de Visual Basic Parte I 2012
FUNCIONAMIENTO

SELECCIONANDO BAOS DEL INCA:

SELECCIONANDO COMIDAS:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 139 -
Manual de Visual Basic Parte I 2012

SELECCIONANDO IGLESIAS:

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 140 -
Manual de Visual Basic Parte I 2012

SELECCIONANDO MSICA:

SALIENDO

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 141 -
Manual de Visual Basic Parte I 2012
MOVIMIENTOS DE LAS PIEZAS DEL AJEDREZ

DISEO DEL TABLERO DE AJEDREZ

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 142 -
Manual de Visual Basic Parte I 2012

CDIGO:

DIBUJANDO EL TABLERO COMPLETO CON TODAS LAS PIEZAS EN SU LUGAR

Public Class Form1


Dim c_actual, c_nuevo As PictureBox
Dim fa, ca, fn, cn As Integer
'DIBUJANDO EL TABLERO COMPLETO CON TODAS LAS PIEZAS EN SU LUGAR
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load

'Colocando las piezas negras en sus respectivos lugares


c1.Image = Image.FromFile("Torren.png")
c3.Image = Image.FromFile("alfiln.png")
c2.Image = Image.FromFile("caballon.png")
c4.Image = Image.FromFile("reyn.png")
c5.Image = Image.FromFile("reynan.png")
c9.Image = Image.FromFile("peonn.png")
c8.Image = Image.FromFile("Torren.png")
c6.Image = Image.FromFile("alfiln.png")
c7.Image = Image.FromFile("caballon.png")
c10.Image = Image.FromFile("peonn.png")
c11.Image = Image.FromFile("peonn.png")
c12.Image = Image.FromFile("peonn.png")
c13.Image = Image.FromFile("peonn.png")
c14.Image = Image.FromFile("peonn.png")
c15.Image = Image.FromFile("peonn.png")
c16.Image = Image.FromFile("peonn.png")

'Colocando las piezas blancas en sus respectivos lugares


c57.Image = Image.FromFile("torreb.png")
c58.Image = Image.FromFile("alfilb.png")
c59.Image = Image.FromFile("caballob.png")
c60.Image = Image.FromFile("reyb.png")
c61.Image = Image.FromFile("reinab.png")
c49.Image = Image.FromFile("peonb.png")
c64.Image = Image.FromFile("Torreb.png")
c63.Image = Image.FromFile("alfilb.png")
c62.Image = Image.FromFile("caballob.png")
c50.Image = Image.FromFile("peonb.png")
c51.Image = Image.FromFile("peonb.png")
c52.Image = Image.FromFile("peonb.png")
c53.Image = Image.FromFile("peonb.png")
c54.Image = Image.FromFile("peonb.png")
c55.Image = Image.FromFile("peonb.png")
c56.Image = Image.FromFile("peonb.png")

c_actual = c1
End Sub

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 143 -
Manual de Visual Basic Parte I 2012
LLAMANDO A LAS FUNCIONES DE LOS MOVIMIENTOS DE LAS PIEZAS

Private Sub c8_Click(sender As System.Object, e As System.EventArgs) Handles c8.Click, c1.Click,


c2.Click, c3.Click, c4.Click, c5.Click, c6.Click, c7.Click, c9.Click, c10.Click, c11.Click,
c12.Click, c13.Click, c14.Click, c15.Click, c16.Click, c17.Click, c18.Click, c19.Click, c20.Click,
c21.Click, c22.Click, c23.Click, c24.Click, c25.Click, c26.Click, c27.Click, c28.Click, c29.Click,
c30.Click, c31.Click, c32.Click, c33.Click, c34.Click, c35.Click, c36.Click, c37.Click, c38.Click,
c39.Click, c40.Click, c41.Click, c42.Click, c43.Click, c44.Click, c45.Click, c46.Click, c47.Click,
c48.Click, c49.Click, c50.Click, c51.Click, c52.Click, c53.Click, c54.Click, c55.Click, c56.Click,
c57.Click, c58.Click, c59.Click, c60.Click, c61.Click, c62.Click, c63.Click, c64.Click
c_nuevo = sender
If c_actual.Tag <> c_nuevo.Tag Then
fa = Microsoft.VisualBasic.Left(c_actual.Tag, 1)
ca = Microsoft.VisualBasic.Right(c_actual.Tag, 1)
fn = Microsoft.VisualBasic.Left(c_nuevo.Tag, 1)
cn = Microsoft.VisualBasic.Right(c_nuevo.Tag, 1)
Select Case (ListBox1.SelectedIndex)
Case 0
mover_torre()
Case 1
mover_alfil()
Case 2
mover_caballo()
Case 3
mover_rey()
Case 4
mover_reina()
Case 5
mover_peon()
End Select
Else
MessageBox.Show("Hey estas en la misma celda!!!!!")
EL CDIGO DE LAS FUNCIONES DE LOS MOVIMIENTOS DE CADA PIEZA DE AJEDREZ SON:
End If

End Sub

' MOVIMIENTO DE LA TORRE


TORRE
Sub mover_torre()
If (fa = fn) Or (ca = cn) Then
c_nuevo.Image = c_actual.Image
c_actual.Image = Nothing
c_actual = c_nuevo
Else
MessageBox.Show("Movimiento incorrecto!!!")
End If
End Sub

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 144 -
Manual de Visual Basic Parte I 2012

ALFIL
' MOVIMIENTO DEL ALFIL

Sub mover_alfil()
If (Math.Abs(fa - fn) = Math.Abs(ca - cn)) Then
c_nuevo.Image = c_actual.Image
c_actual.Image = Nothing
c_actual = c_nuevo
Else
MessageBox.Show("Movimiento incorrecto!!!")
End If
End Sub

REYNA

' MOVIMIENTO DE LA REINA

Sub mover_reina()
If (Math.Abs(fa - fn) = Math.Abs(ca - cn)) Or (fa = fn) Or (ca = cn) Then
c_nuevo.Image = c_actual.Image
c_actual.Image = Nothing
c_actual = c_nuevo
Else
MessageBox.Show("Movimiento incorrecto!!!")
End If
End Sub

CABALLO
' MOVIMIENTO DEL CABALLO

Sub mover_caballo()
If (Math.Abs(fa - fn) = 2 And Math.Abs(ca - cn) = 1) Or
(Math.Abs(fa - fn) = 1 And Math.Abs(ca - cn) = 2) Then
c_nuevo.Image = c_actual.Image
c_actual.Image = Nothing
c_actual = c_nuevo
Else
MessageBox.Show("Movimiento incorrecto!!!")
End If
End Sub

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 145 -
Manual de Visual Basic Parte I 2012

REY

' MOVIMIENTO DEL REY

Sub mover_rey()
If (Math.Abs(fa - fn) <= 1 And Math.Abs(ca - cn) <= 1) Or ((fa - fn) = 1) Or ((ca - cn) = 1) Then
c_nuevo.Image = c_actual.Image
c_actual.Image = Nothing
c_actual = c_nuevo
Else
MessageBox.Show("Movimiento incorrecto!!!")
End If
End Sub

PEN ' MOVIMIENTO DEL PEN

Sub mover_peon()
If ((fn - fa) = 1) And ((ca = cn)) Then
c_nuevo.Image = c_actual.Image
c_actual.Image = Nothing
c_actual = c_nuevo
Else
MessageBox.Show("Movimiento incorrecto!!!")
End If
End Sub

ASIGNANDO LAS IMGENES DE LAS PIEZAS DE ACUERDO A CADA CASO:

Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As


System.EventArgs) Handles ListBox1.SelectedIndexChanged
Select Case ListBox1.SelectedIndex
Case 0
c_actual.Image = Image.FromFile("Torren.png")
Case 1
c_actual.Image = Image.FromFile("alfiln.png")
Case 2
c_actual.Image = Image.FromFile("caballon.png")
Case 3
c_actual.Image = Image.FromFile("reyn.png")
Case 4
c_actual.Image = Image.FromFile("reynan.png")
Case 5
c_actual.Image = Image.FromFile("peonn.png")
End Select
End Sub
End Class

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 146 -
Manual de Visual Basic Parte I 2012
FUNCIONAMIENTO

CUANDO SE HACE CLIC EN LA MISMA CELDA DONDE EST LA PIEZA A MOVER SQLE UN
MENSAJE DE ATENCIN HEY ESTS EN LA MISMA CELDA!!!!!

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 147 -
Manual de Visual Basic Parte I 2012
SI EL MOVIMIENTO QUE SE HACE NO CORRESPONDE CON LOS MOVIMIENTOS PROPIOS
DE LA PIEZA SELECCIONADA SALE UN MENSAJE DE MOVIMIENTO INCORRECTO

MOVER COMO TORRE

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 148 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 149 -
Manual de Visual Basic Parte I 2012

MOVER COMO ALFIL

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 150 -
Manual de Visual Basic Parte I 2012

MOVER COMO CABALLO

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 151 -
Manual de Visual Basic Parte I 2012

MOVER COMO REY

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 152 -
Manual de Visual Basic Parte I 2012

MOVER COMO REYNA

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 153 -
Manual de Visual Basic Parte I 2012

MOVER COMO PEN

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 154 -
Manual de Visual Basic Parte I 2012

Estrada Aguilar, Karen Johana | PROGRAMACIN APLICADA I


- 155 -

You might also like