7.- programacion en formas de windows
DESCRIPTION
Formas de WindowsTRANSCRIPT
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 1
PROGRAMACIN EN C# .NET8.- Programacin de Formas
de Windows
PROGRAMACIN EN C# .NET8.- Programacin de Formas
de WindowsIng. Bruno Lpez Takeyas
Instituto Tecnolgico de Nuevo LaredoIng. Bruno Lpez Takeyas
Instituto Tecnolgico de Nuevo Laredo1
PROYECTO DE FORMAS DE WINDOWS
2
Nombre del nuevo proyecto
Proyecto de formas de Windows
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 2
POLIMORFISMO
3Cuadro de controles
Forma de Windows
Tabla de Propiedades
PROPIEDADES Name y Text
Todos los controles tienen la propiedadName que los identifica como un objeto de la forma
La propiedad Text se utiliza para especificarel texto que despliega el control
4
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 3
PROPIEDADES Name y Text
5
Nombre del botn(Name)
Texto del botn(Text)
Otras propiedadesdel botn
CONTROLES
6
Botn: Ejecuta un conjunto de Sentencias cuando se oprime
CheckBox: Se utiliza para seleccionarvarias opciones de un conjunto
Etiqueta: Muestra un mensaje fijoEn la forma
Lista: Muestra una cuadro con una lista demensajes
RadioBotn: Se utiliza para seleccionarSlo una opcin de un conjunto
Cuadro de Texto: Se utiliza para introduciro mostrar datos
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 4
TERMINAR UNA APLICACIN
7
Application.Exit();
Form
8
Texto de la Forma
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 5
textBoxSe usa para capturar datosPara ver el contenido se usa: textBox1.Text
Siempre es de tipo cadenaSi requiere otro tipo de dato, es necesario usarParse( ) int x = int.Parse(textBox1.Text);
Para limpiar su contenido: textBox1.Clear( );
9
textBox1
label1
button
private void button1_Click(object sender, EventArgs e)
{//Aqu se coloca el cdigo
}10
Use la propiedad Textpara colocar el mensaje al botnColoque un & parahabilitar la tecla directa
P. ejem. ALT-CAl dar doble click, codifique:
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 6
MessageBox
11
MessageBox.Show("Hola Mundo","Este es un MessageBox",MessageBoxButtons.OK,MessageBoxIcon.Information);
MessageBox.Show("Hola Mundo);
MessageBox.Show("Hola Mundo","Este es un Mensaje de Error",MessageBoxButtons.OK,Cancel,MessageBoxIcon.Error);
MessageBox
12
DialogResult Respuesta;Respuesta = MessageBox.Show("Est seguro?", "Confirme la operacin", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (Respuesta==DialogResult.Yes)MessageBox.Show("Aceptado");
elseMessageBox.Show("Rechazado");
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 7
checkBox
if (checkBox1.Checked)MessageBox.Show("Opcin : "+checkBox1.Text);
if (checkBox2.Checked)MessageBox.Show("Opcin : "+checkBox2.Text); 13
Permite seleccionarvarias opciones
checkBox1
checkBox2
radioButton
if (radioButton1.Checked)MessageBox.Show(radioButton1.Text);
if (radioButton2.Checked)MessageBox.Show(radioButton2.Text); 14
Permite seleccionarslo una opcin
radioButton1
radioButton2
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 8
comboBox
MessageBox.Show(comboBox1.Text);15
Permite seleccionarslo una opcin de una lista desplegable
comboBox1
listBox
16
Muestra una lista de datos de tipo stringEs semejante a un arreglo
Para agregar datos:listBox1.Items.Add(textBox1.Text);
Para recorrer el listBox:string salida = "";
for (int i = 0; i < listBox1.Items.Count; i++)salida = salida+"\n"+listBox1.Items[ i ];
MessageBox.Show(salida);
listBox1
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 9
dataGridView
17
Muestra un conjunto de datos de tipo stringEs semejante a un arreglo bidimensional (matriz)
Para crear las columnas:for (int c = 0; c < 3; c++){
DataGridViewColumn columna = new DataGridViewColumn(new DataGridViewTextBoxCell());
switch (c){
case 0: columna.Name = "Columna 0"; break;case 1: columna.Name = "Columna 1"; break;case 2: columna.Name = "Columna 2"; break;
}dataGridView1.Columns.Add(columna);
}dataGridView1.Rows.Add(4);
dataGridView1
dataGridView
18
Para etiquetar los renglones:dataGridView1.Rows.Add(12);dataGridView1.Rows[0].HeaderCell.Value = "Enero";dataGridView1.Rows[1].HeaderCell.Value = "Febrero";dataGridView1.Rows[2].HeaderCell.Value = "Marzo";dataGridView1.Rows[3].HeaderCell.Value = "Abril;
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 10
Propiedades de un dataGridView
19
Permitir agregar renglones
Permitir borrar columnas
Ancho de columna automatico
Recorrido de un dataGridView
20
Se requieren 2 ciclos: Columnas y RenglonesCada celda se accesa mediante:
dataGridView1[columna, renglon].Value
NOTA:El
direccionamientode las celdas es:
[columna, renglon]
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 11
Recorrido de un dataGridView
int r, c;string salida = "";for (r = 0; r < dataGridView1.Rows.Count; r++){
salida = salida + "\n";for (c = 0; c < dataGridView1.Columns.Count; c++)
salida = salida + dataGridView1[c, r].Value+"\t";}MessageBox.Show(salida);
21
Ajustando las propiedades del dataGridView
// No permitir agregar ni eliminar renglonesdataGridView1.AllowUserToAddRows = false;dataGridView1.AllowUserToDeleteRows = false;
// Autoajustar el ancho de las columnasdataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
// Seleccionar un rengln completo al hacer clickdataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
22
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 12
Ajustando las propiedades del dataGridView
// No se permite seleccionar varios renglonesdataGridView1.MultiSelect = false;
// Modo de solo lecturadataGridView1.ReadOnly = true;
23
Cmo pasar los datos de un rengln de un dataGridView a los textBoxes?
// Seleccionar un rengln completo al hacer clickdataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;// No se permite seleccionar varios renglonesdataGridView1.MultiSelect = false;
24
Hacer doble click en el dataGridView para abrir el mtodo CellClick()
Establecer la propiedad para seleccionar solamenteun rengln del dataGridView
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e){
. . .
}
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 13
Cmo seleccionar un rengln de un dataGridView?
// Declaracin y creacin de un objeto localAuto miAuto = new Auto();
// Verificar si se seleccion un rengln del dataGridView1if (dataGridView1.CurrentRow == null){
MessageBox.Show("Seleccione un auto de la lista");return;
}
// Obtiene las placas del auto seleccionadomiAuto.Placas = dataGridView1.CurrentRow.Cells[0].Value.ToString();miAuto.Marca = dataGridView1.CurrentRow.Cells[1].Value.ToString();miAuto.Modelo = dataGridView1.CurrentRow.Cells[2].Value.ToString();
25
progressBar
progressBar1.Maximum = 50000;progressBar1.Minimum = 0;progressBar1.Step = 1;
progressBar1.Visible = true;for (int i = 0; i < 50000; i++){
progressBar1.Value = i;}
progressBar1.Visible = false;26
Muestra un avance grfico de un proceso
progressBar1
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 14
Prefijos sugeridos para los nombres de controles (notacin hngara)
27
Control Prefijo Ejemplo(s)Button btn btnSalirCheckBox chk chkInscritoComboBox cbo cboEspecialidadDataGridView dtg dtgIngredientesForm frm frmPrincipalGroupBox grp grpDatosAlumnosLabel lbl lblNombreListBox lst lstAlumnosRadioButton rad radMasculinoTextBox txt txtRadio
http://support.microsoft.com/kb/173738/es
28
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 15
Calcular diferencia de tiempo
29
Se declaran las variables de tipo DateTime DateTime HoraInicio, HoraFin;
HoraInicio = DateTime.Now;HoraFin = DateTime.Now;
int tiempo = Math.Abs(HoraFin.Millisecond - HoraInicio.Millisecond);MessageBox.Show("Tiempo de ejecucin: " + tiempo.ToString()+" ms.");
Otra forma de calcular diferencia de tiempo
30
La palabra reservada var slo se puede utilizar en un contexto local
var cronometro = System.Diagnostics.Stopwatch.StartNew();. . . . .
cronometro.Stop(); MessageBox.Show(cronometro.ElapsedMilliseconds.ToString());
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 16
Proyecto con varias formas
31
32
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 17
Invocar la Form2 desde la Form1
private void btnAbrirForm2_Click(object sender, EventArgs e)
{
Form2 miForma2 = new Form2();
miForma2.Show();
}
33
Regresar a la Form1
private void btnRegresarForm1_Click(objectsender, EventArgs e)
{
this.Close();
}
34
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 18
Uso de contrasea (password)
private void Form1_Load(object sender, EventArgs e)
{
txtPassword.PasswordChar = '*';
}
35
Implementar un InputBox como en Visual Basic
36
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 19
public static DialogResult InputBox(string title, string promptText, ref string value)
{
Form form = new Form();
Label label = new Label();
TextBox textBox = new TextBox();
Button buttonOk = new Button();
Button buttonCancel = new Button();
form.Text = title;
label.Text = promptText;
textBox.Text = value;
buttonOk.Text = "OK";
buttonCancel.Text = "Cancelar";
buttonOk.DialogResult = DialogResult.OK;
buttonCancel.DialogResult = DialogResult.Cancel;
label.SetBounds(9, 20, 372, 13);
textBox.SetBounds(12, 36, 372, 20);
buttonOk.SetBounds(228, 72, 75, 23);
buttonCancel.SetBounds(309, 72, 75, 23);
label.AutoSize = true;
textBox.Anchor = textBox.Anchor | AnchorStyles.Right;
buttonOk.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
form.ClientSize = new Size(396, 107);
form.Controls.AddRange(new Control[] { label, textBox, buttonOk, buttonCancel });
form.ClientSize = new Size(Math.Max(300, label.Right + 10), form.ClientSize.Height);
form.FormBorderStyle = FormBorderStyle.FixedDialog;
form.StartPosition = FormStartPosition.CenterScreen;
form.MinimizeBox = false;
form.MaximizeBox = false;
form.AcceptButton = buttonOk;
form.CancelButton = buttonCancel;
DialogResult dialogResult = form.ShowDialog();
value = textBox.Text;
return dialogResult;
}
37
Invocando el InputBoxprivate void btnBuscar_Click(object sender, EventArgs e)
{
string dato="";
InputBox("Buscar", "Anote el dato que desea buscar", ref dato);
MessageBox.Show(dato);
}
38
-
Programacin de formas de Windows
Ing. Bruno Lpez Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 20
LECTURAS ADICIONALES
39
Captulo Tema Libro Autor Pgs.4-WindowsForms.PDFDiapositivas_comboBox.PDFDiapositivas_listBox.PDFDiapositivas_messageBox.PDFEjemploWinFormsYClases.ZIPgroupBox_tabControl.PDF
Filminas Ing. Ramn Roque
Hernndez
Se recomiendan estas lecturas para dominar los conceptos de Programacin con Formas de Windows