PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT...

20
Programación de formas de Windows Ing. Bruno López Takeyas, M.C. http://www.itnuevolaredo.edu.mx/Takeyas 1 PROGRAMACIÓN EN C# .NET 8.- Programación de Formas de Windows PROGRAMACIÓN EN C# .NET 8.- Programación de Formas de Windows Ing. Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo Ing. Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo 1 PROYECTO DE FORMAS DE WINDOWS 2 Nombre del nuevo proyecto Proyecto de formas de Windows

Transcript of PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT...

Page 1: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 1

PROGRAMACIÓN EN C# .NET8.- Programación de Formas

de Windows

PROGRAMACIÓN EN C# .NET8.- Programación de Formas

de WindowsIng. Bruno López Takeyas

Instituto Tecnológico de Nuevo Laredo

Ing. Bruno López TakeyasInstituto Tecnológico de Nuevo Laredo

1

PROYECTO DE FORMAS DE WINDOWS

2

Nombre del nuevo proyecto

Proyecto de formas de Windows

Page 2: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López 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

Page 3: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 3

PROPIEDADES “Name” y “Text”

5

Nombre del botón(Name)

Texto del botón(Text)

Otras propiedadesdel botón

CONTROLES

6

Botón: 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

RadioBotón: Se utiliza para seleccionarSólo una opción de un conjunto

Cuadro de Texto: Se utiliza para introduciro mostrar datos

Page 4: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 4

TERMINAR UNA APLICACIÓN

7

Application.Exit();

Form

8

Texto de la Forma

Page 5: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López 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 código

}

10

Use la propiedad Textpara colocar el mensaje al botónColoque un & parahabilitar la tecla directa

P. ejem. ALT-CAl dar doble click, codifique:

Page 6: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López 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 operación", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if (Respuesta==DialogResult.Yes)MessageBox.Show("Aceptado");

elseMessageBox.Show("Rechazado");

Page 7: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 7

checkBox

if (checkBox1.Checked)MessageBox.Show("Opción : "+checkBox1.Text);

if (checkBox2.Checked)MessageBox.Show("Opción : "+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 seleccionarsólo una opción

radioButton1

radioButton2

Page 8: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 8

comboBox

MessageBox.Show(comboBox1.Text);15

Permite seleccionarsólo una opción 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

Page 9: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López 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“;

Page 10: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López 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]

Page 11: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López 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 renglones

dataGridView1.AllowUserToAddRows = false;

dataGridView1.AllowUserToDeleteRows = false;

// Autoajustar el ancho de las columnas

dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

// Seleccionar un renglón completo al hacer click

dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

22

Page 12: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 12

Ajustando las propiedades del dataGridView

// No se permite seleccionar varios renglones

dataGridView1.MultiSelect = false;

// Modo de solo lectura

dataGridView1.ReadOnly = true;

23

¿Cómo pasar los datos de un renglón de un dataGridView a los textBoxes?

// Seleccionar un renglón completo al hacer click

dataGridView1.SelectionMode = DataGridViewSelection Mode.FullRowSelect;

// No se permite seleccionar varios renglones

dataGridView1.MultiSelect = false;

24

Hacer doble click en el dataGridView para abrir el método CellClick()

Establecer la propiedad para seleccionar solamenteun renglón del dataGridView

private void dataGridView1_CellClick(object sender, Da taGridViewCellEventArgs e)

{

. . .

}

Page 13: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 13

¿Cómo seleccionar un renglón de un dataGridView?

// Declaración y creación de un objeto local

Auto miAuto = new Auto ();

// Verificar si se seleccionó un renglón del dataGr idView1

if (dataGridView1.CurrentRow == null)

{

MessageBox.Show("Seleccione un auto de la lista");

return;

}

// Obtiene las placas del auto seleccionado

miAuto.Placas = dataGridView1.CurrentRow.Cells[0].Va lue.ToString();

miAuto.Marca = dataGridView1.CurrentRow.Cells[1].Val ue.ToString();

miAuto.Modelo = dataGridView1.CurrentRow.Cells[2].Va lue.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 gráfico de un proceso

progressBar1

Page 14: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 14

Prefijos sugeridos para los nombres de controles (notación húngara)

27

Control Prefijo Ejemplo(s)

Button btn btnSalir

CheckBox chk chkInscrito

ComboBox cbo cboEspecialidad

DataGridView dtg dtgIngredientes

Form frm frmPrincipal

GroupBox grp grpDatosAlumnos

Label lbl lblNombre

ListBox lst lstAlumnos

RadioButton rad radMasculino

TextBox txt txtRadio

http://support.microsoft.com/kb/173738/es

28

Page 15: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López 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 ejecución: " + tiempo.ToString()+" ms.");

Otra forma de calcular diferencia de tiempo

30

La palabra reservada var sólo se puede utilizar en un contexto local

var cronometro = System.Diagnostics.Stopwatch.StartNew();

. . . . .

cronometro.Stop(); MessageBox.Show(cronometro.ElapsedMilliseconds.ToString());

Page 16: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 16

Proyecto con varias formas

31

32

Page 17: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López 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

Page 18: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 18

Uso de contraseña (password)

private void Form1_Load(object sender, EventArgs e)

{

txtPassword.PasswordChar = '*';

}

35

Implementar un InputBox como en Visual Basic

36

Page 19: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López 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

Page 20: PROGRAMACIÓN EN C# .NET 8.- Programación de Formas ......7.- Programacion en C_Sharp Por BLT (Formas de Windows) Author BLT Created Date 5/30/2014 2:21:38 PM Keywords () ...

Programación de formas de Windows

Ing. Bruno López Takeyas, M.C.http://www.itnuevolaredo.edu.mx/Takeyas 20

LECTURAS ADICIONALES

39

Capítulo Tema Libro Autor Págs.

•4-WindowsForms.PDF•Diapositivas_comboBox.PDF•Diapositivas_listBox.PDF•Diapositivas_messageBox.PDF•EjemploWinFormsYClases.ZIP•groupBox_tabControl.PDF

Filminas Ing. Ramón Roque

Hernández

Se recomiendan estas lecturas para dominar los conceptos de Programación con Formas de Windows