Sie sind auf Seite 1von 13

Mens y Cuadros de Dialogo.

Mens y Cuadros de Dialogo. .......................................................................................... 1


1. Barra de Mens...................................................................................................... 1
2. Mens Emergentes............................................................................................... 3
3. Barra de herramientas.......................................................................................... 4
4. Barra de estado...................................................................................................... 5
5. Cuadros de dialogo................................................................................................ 6

1. Barra de Mens

Al cargar MenuStrip aparece el siguiente formato en el Formulario:

Como vemos es un Control oculto, no se define dentro del Formulario

Al hacer Clic sobre el texto | Escriba aqu | en cuanto se empiece a escribir


VB mostrar otras dos casillas con la invitacin | Escriba aqu |

Lola Cano Gil 1


Escribir |Nivel-1| fijaros en la ventana de Propiedades. El texto escrito se ha
convertido en un elemento de Men. Cada elemento de Men es un Objeto y,
consecuentemente, dispone de un conjunto de propiedades exclusivo.

El carcter &:

Si escribimos | &Nivel-1 | Visual Basic sustituye este smbolo por un


Subrayado para la letra N convirtiendo este carcter en una tecla aceleradora
o de Acceso directo. Pulsando la combinacin de tecla
<Alt-Tecla Aceleradora> equivale a hacer Clic sobre la propia opcin de
Men. Cualquier carcter puede convertirse en tecla de acceso directo.
No debe coincidir el mismo carcter en otra opcin de Men.

Asignar Combinaciones de Teclas a elementos de Men:

Para los elementos de Men que queramos ejecutar con una combinacin de
letras, activar la Propiedad ShortcutKeys en el elemento deseado.

El elemento separador:

El elemento separador es una lnea que sirve para separar elementos de Men
que consideramos relacionados. Para activar el elemento separador
Posicionarse en | Escriba aqu | debajo del que queremos que aparezca
subrayado y pulsar la flecha del Men desplegable que aparece y seleccionar
Separador.

Mover y eliminar elementos de los Mens:

Para borrar un elemento, simplemente hacer Clic sobre l con el botn


derecho y ejecutar el comando Eliminar.

Para mover un elemento, arrastrarlo desde su posicin actual hasta la


ubicacin en la que desee recolocarlo.

Elementos Activables:

Nos permiten crear elementos de Men que pueden alternar entre dos estados;
pueden estar seleccionados o no. Se le asocia una Casilla de Verificacin.

Se hace activando la propiedad Checked.

Mediante cdigo para alternar la activacin o no de Checked, en el elemento


que hemos decidido que sea Activable escribir:
Lola Cano Gil 2
Elemento.Checked = Not (Elemento.Checked)

Programar los Mens:

Cada elemento de un Men es un Objeto independiente; podemos seleccionar


cada uno de ellos por separado haciendo Clic sobre ellos y recurriendo a la
ventana Propiedades. La asignacin de cdigo se hace igual que con los
controles.

-------------------------------------- ### -----------------------------------------

En tiempo de diseo, podemos activar la flecha de acceso directo a


Propiedades en el diseo del Men, visualizndose el siguiente cuadro en la
parte derecha del Men.

2. Mens Emergentes

Los Mens Emergentes tambin llamados Mens Contextuales, son los


Mens que aparecen cuando hacemos Clic con el Botn Derecho sobre un
Objeto de un Formulario. Los Mens Emergentes se crean con el Control
ContextMenuStrip.

Lola Cano Gil 3


Puede haber varios Mens Emergentes, para que puedan ser ejecutados en un
Objeto, hay que seleccionar el nombre del Men en la Propiedad
ContextMenuStrip.

En Cuanto al Diseo y al Cdigo Funcionan exactamente igual que Las


Barras de Men.

En tiempo de Diseo:

En tiempo de Ejecucin:

3.
Ba
rra
de
her
ra
mi
ent
as.

Lola Cano Gil 4


Podemos aadir a nuestros programas barras de herramientas, con las opciones del men
mas usadas, con este control.
La propiedad tems tiene la coleccin, en la que podemos aadir los botones a la barra de
herramientas darles nombre y asignarles una imagen. (propiedades Name e Image de cada
botn).

Se les puede programar como cualquier botn.

Podemos hacer mens desplegables en la barra de herramientas, para ello en lugar de un


botn tendremos que seleccionar la opcin DropDownButton

4. Barra de estado.

Barra que muestra informacin sobre un objeto.

Lola Cano Gil 5


5. Cuadros de dialogo.

Abrir y Salvar Ficheros.

- Abrir: Control Open File Dialog

Sirve para mostrar un Cuadro de Dilogo que permita al usuario explorar la estructura de
carpetas para seleccionar un Archivo. Es importante resear que no suele ser el propio
Open File Dialog el encargado de Abrir el archivo seleccionado, sino cdigo especfico
insertado en otro lugar de la aplicacin.

- Propiedades a considerar:

OpenFileDialog1.InitialDirectory = ruta | . = C:\

Indica que carpeta debe mostrar al Abrir el Cuadro de Dilogo. Si no se especifica una
carpeta concreta para la propiedad InitialDirectory se utilizar la carpeta activa del sistema
(por ejemplo la ltima carpeta a la que se haya accedido con un cuadro de dilogo Abrir.

OpenFileDialog1.Title = Seleccione un Fichero

Texto que se muestra en la Barra de Ttulo del Cuadro de Dilogo. Si no se especifica


ningn valor, se muestra simplemente el ttulo Abrir.

OpenFileDialog1.FileName = |||||||||||||||||||||||||||||||||||||||||||||||||||||||

Esta propiedad se utiliza para contener el nombre del archivo seleccionado. Si no


asignamos una cadena vaca a esta propiedad antes de abrir el Cuadro de Dilogo,
adquirir por defecto el nombre del propio Control, que no suele ser en absoluto
conveniente.

Crear Filtros de Archivos:

Para crearlos usamos la propiedad Filter cuyo formato es el siguiente:


Control.Filter = Descripcin | *.extensin | Descripcin | *.extensin..
Ejemplo:
Control.Filter = Windows Bitmaps | *.bmp | JPEG Archivos | *.jpg

- Mostrar el Cuadro de Dilogo:

Lola Cano Gil 6


Se usa el Mtodo ShowDialog(), funciona de un modo similar al homnimo de los
Formularios .

Ejemplo de uso:
If OpenFileDialog1. ShowDialog() <> Windows.Forms. DialogResult.Cancel Then
Texto.Text = OpenFileDialog1.FileName
Else
Texto.Text =
End If

Nota:
Por defecto este control no admite que el usuario introduzca el nombre de un Archivo que
no existe. Pero podemos alterar este comportamiento asignando el valor False a la
propiedad CheckFileExists de este control.

- Salvar: Control Save File Dialog

Este control es similar a Open File Dialog, pero sirve para que el usuario indique qu
Archivo desea Guardar, en lugar de cual Abrir. Es importante destacar que este control no
es realmente quien almacena el Archivo; slo permite al usuario especificar el nombre con
el que desea guardarlo.

- Propiedades a considerar:

SaveFileDialog1.Title = Especifique destino del Fichero

Texto que se muestra en la Barra de Ttulo del Cuadro de Dilogo. Si no se especifica


ningn valor, se muestra simplemente el ttulo Guardar.

SaveFileDialog1.Filter = Text Files (*.txt) | *.txt

Manipular Archivos.

Se realiza Usando el Objeto: System.IO.File

Mtodos para manipular Archivos.

- Existe el Archivo?: Exists(nombre del archivo o ruta)


-Copiar un Archivo: Copy(Fichero Origen, Fichero Destino)
- Mover un Archivo: Move(Fichero Origen, Fichero Destino)

* Destino es Nombre y Ruta del archivo copiado.

- Renombrar un Archivo: Usar un Move en la misma ubicacin.


- Borrar un Archivo: Delete(nombre del archivo)
!!!!!! CUIDADO QUE BORRA DE VERDAD !!!!!!!!

Manipular Carpetas.

Se realiza Usando el Objeto: System.IO.Directory

Mtodos para manipular Carpetas.


Lola Cano Gil 7
- Crear una Carpeta: CreateDirectory(nombre de la carpeta o ruta)
Ejemplo: System.IO.Directory.CreateDirectory(c:\my new directory)

- Existe la Carpeta?: Exists(nombre de la carpeta o ruta)

-Copiar una Carpeta: Copy(Carpeta Origen, Carpeta Destino)


- Mover una Carpeta: Move(Carpeta Origen, Carpeta Destino)

* Destino es Nombre y Ruta de la carpeta copiada.

- Renombrar una Carpeta: Usar un Move en la misma ubicacin.


- Borrar una Carpeta: Delete(nombre de la carpeta o ruta)

!!!!!! CUIDADO QUE BORRA DE VERDAD !!!!!!!!

- Para enviar una carpeta a la Papelera de reciclaje en lugar de Eliminarla.


Podemos utilizar el Objeto My, como en este ejemplo.

My.Computer.FileSystem.DeleteDirectory(nombre directorio o ruta,


FileIO.UIOption.AllDialogs, [ic:cc]
FileIO.RecicleOption.SendToRecycleBin,
FileIO.UICancelOption.ThrowException)

Ejercicio: Block de notas

Lola Cano Gil 8


Public Class Form1

Dim nombre As String 'PARA GUARDAR EL NOMBRE DEL ARCHIVO

Private Sub imprimirdoc_PrintPage(ByVal sender As System.Object,


ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles
imprimirdoc.PrintPage
Dim cadena_imprimir As String
Dim pincel As New System.Drawing.SolidBrush(block.ForeColor)

cadena_imprimir = block.Text
e.Graphics.PageUnit = GraphicsUnit.Millimeter
e.Graphics.DrawString(cadena_imprimir, block.Font, pincel, 10,
20)
End Sub

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


System.EventArgs) Handles babrir.Click
'abrir archivo y pasarlo a la caja de texto
Dim longitud As Integer 'GUARDA LA LONGITUD DEL ARCHIVO
If abrir.ShowDialog() = Windows.Forms.DialogResult.OK Then
longitud = FileLen(abrir.FileName)
Dim contenido As New String("", longitud)
Dim ObjetoFichero As New
System.IO.StreamReader(abrir.FileName)
contenido = ObjetoFichero.ReadToEnd
nombre = abrir.FileName
Me.Text = nombre
ObjetoFichero.Close() 'cierra archivo
ObjetoFichero.Dispose() ' libera recursos del sistema
'
block.Text = contenido
barraestado.Text = abrir.FileName 'poner el nombre del
archivo en la barra de estado
End If
End Sub

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


System.EventArgs) Handles bguardar.Click
If nombre = "" Then 'caso de guardar un nuevo
nombre = Mid(block.Text, 1, 10) 'poner el nombre con los diez
primeros caracteres
If guardar.ShowDialog() = Windows.Forms.DialogResult.OK Then
nombre = guardar.FileName
Else ' caso de salir sin guardar
nombre = ""
Exit Sub
End If
End If
Dim ObjetoFichero As New System.IO.StreamWriter(nombre)
ObjetoFichero.Write(block.Text)
ObjetoFichero.Close() 'cierra archivo
ObjetoFichero.Dispose() ' libera recursos del sistema
End Sub

Lola Cano Gil 9


Private Sub bvistapre_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles bvistapre.Click
If previa.ShowDialog() = Windows.Forms.DialogResult.OK Then
imprimirdoc.PrinterSettings.PrinterName =
imprimir.PrinterSettings.PrinterName
imprimirdoc.Print()
End If
End Sub

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


System.EventArgs) Handles bimprimir.Click
If imprimir.ShowDialog() = Windows.Forms.DialogResult.OK Then
imprimirdoc.PrinterSettings.PrinterName =
imprimir.PrinterSettings.PrinterName
imprimirdoc.Print()
End If
End Sub

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


System.EventArgs) Handles bcolor.Click
If Color.ShowDialog() = Windows.Forms.DialogResult.OK Then
block.ForeColor = Color.Color
End If
End Sub

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


System.EventArgs) Handles bfuentes.Click
If fuente.ShowDialog() = Windows.Forms.DialogResult.OK Then
block.Font = fuente.Font
End If
End Sub

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


System.EventArgs) Handles bcortar.Click
If block.SelectionLength > 0 Then
block.Cut() 'cortar texto seleccionado
End If
End Sub

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


System.EventArgs) Handles bdeshacer.Click
If block.CanUndo Then 'puede deshacer?
block.Undo()

Else
MsgBox("NO se puede deshacer")
End If
End Sub

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


System.EventArgs) Handles bpegar.Click
block.Paste()
End Sub

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


System.EventArgs) Handles bcopiar.Click
If block.SelectionLength = 0 Then
block.SelectAll()
End If
block.Copy()
End Sub

Lola Cano Gil 10


Private Sub AbrirToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
AbrirToolStripMenuItem.Click
'abrir archivo y pasarlo a la caja de texto
Dim longitud As Integer 'GUARDA LA LONGITUD DEL ARCHIVO
If abrir.ShowDialog() = Windows.Forms.DialogResult.OK Then
longitud = FileLen(abrir.FileName)
Dim contenido As New String("", longitud)
Dim ObjetoFichero As New
System.IO.StreamReader(abrir.FileName)
contenido = ObjetoFichero.ReadToEnd
nombre = abrir.FileName
Me.Text = nombre
ObjetoFichero.Close()
ObjetoFichero.Dispose()
block.Text = contenido
guardar.FileName = nombre 'para que al guardar tenga el
nombre
barraestado.Text = "modificando ......" & abrir.FileName
'poner el nombre del archivo en la barra de estado

End If
End Sub

Private Sub GuardarToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
GuardarToolStripMenuItem.Click
If nombre = "" Then 'caso de guardar un nuevo
nombre = Mid(block.Text, 1, 10) 'poner el nombre con los diez
primeros caracteres
If guardar.ShowDialog() = Windows.Forms.DialogResult.OK Then
nombre = guardar.FileName
Else ' caso de salir sin guardar
nombre = ""
Exit Sub
End If
End If
Dim ObjetoFichero As New System.IO.StreamWriter(nombre)
ObjetoFichero.Write(block.Text)
ObjetoFichero.Close() 'cierra archivo
ObjetoFichero.Dispose() ' libera recursos del sistema
End Sub

Private Sub SalirToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
SalirToolStripMenuItem.Click
Me.Close()
End Sub

Private Sub GuardarComoToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
GuardarComoToolStripMenuItem.Click

If guardar.ShowDialog() = Windows.Forms.DialogResult.OK Then


Dim ObjetoFichero As New
System.IO.StreamWriter(guardar.FileName)
nombre = guardar.FileName
ObjetoFichero.Write(block.Text)
ObjetoFichero.Close() 'cierra archivo
ObjetoFichero.Dispose() ' libera recursos del sistema
End If
End Sub

Lola Cano Gil 11


Private Sub ImprimirToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ImprimirToolStripMenuItem.Click
If imprimir.ShowDialog() = Windows.Forms.DialogResult.OK Then
imprimirdoc.PrinterSettings.PrinterName =
imprimir.PrinterSettings.PrinterName
imprimirdoc.Print()
End If
End Sub

Private Sub VistaPreviaToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
VistaPreviaToolStripMenuItem.Click
If previa.ShowDialog() = Windows.Forms.DialogResult.OK Then
imprimirdoc.PrinterSettings.PrinterName =
imprimir.PrinterSettings.PrinterName
imprimirdoc.Print()
End If
End Sub

Private Sub PegarToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
PegarToolStripMenuItem.Click
block.Paste()
End Sub

Private Sub CortarToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
CortarToolStripMenuItem.Click
If block.SelectionLength > 0 Then
block.Cut() 'cortar texto seleccionado
End If
End Sub

Private Sub CopiarToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
CopiarToolStripMenuItem.Click
If block.SelectionLength = 0 Then
block.SelectAll()
End If
block.Copy()
End Sub

Private Sub CambiarcolorToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
CambiarcolorToolStripMenuItem.Click
If Color.ShowDialog() = Windows.Forms.DialogResult.OK Then
block.ForeColor = Color.Color
End If
End Sub

Private Sub FuenteToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
FuenteToolStripMenuItem.Click
If fuente.ShowDialog() = Windows.Forms.DialogResult.OK Then
block.Font = fuente.Font
End If
End Sub

Private Sub DeshacerToolStripMenuItem_Click(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
DeshacerToolStripMenuItem.Click
If block.CanUndo Then
block.Undo()

Lola Cano Gil 12


Else
MsgBox("NO se puede deshacer")
End If
End Sub

End Class

Aadir la opcin de : Nuevo

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


System.EventArgs) Handles nuevo.Click
Dim mensaje As Integer
' en el caso de que pulse "Nuevo" pero tenga abierto otro archivo
If block.Text <> "" Then
mensaje = MessageBox.Show("Deseas guardar los datos?", "El
texto ha cambiado", MessageBoxButtons.YesNoCancel)
If mensaje = 6 Then 'Guardar como
If guardar.ShowDialog() = Windows.Forms.DialogResult.OK
Then
Dim ObjetoFichero As New
System.IO.StreamWriter(guardar.FileName)
nombre = guardar.FileName
ObjetoFichero.Write(block.Text)
ObjetoFichero.Close() 'cierra archivo
ObjetoFichero.Dispose() ' libera recursos del sistema
End If
End If
Exit Sub
End If
' el caso de Nuevo- nuevo
nombre = ""
block.Text = ""

End Sub

Ampliacin
Aadir la opcin de ayuda:
Private Sub AyudaToolStripMenuItem_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles AyudaToolStripMenuItem.Click
Help.ShowHelp(Me, "..\help\ayuda.chm")
End Sub
Programar men emergente sobre la caja de texto de Cortar, Copiar y Pegar.
Private Sub CopiarToolStripMenuItem1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles CopiarToolStripMenuItem1.Click
If block.SelectionLength = 0 Then
block.SelectAll()
End If
block.Copy()
End Sub

Programar una ventana acerca de.


Private Sub AcercaDeToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
AcercaDeToolStripMenuItem.Click
AboutBox1.Show()
End Sub

Lola Cano Gil 13

Das könnte Ihnen auch gefallen