programaciÓn en c# .net 8.- programación de formas ......7.- programacion en c_sharp por blt...
TRANSCRIPT
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
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
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
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
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:
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");
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
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
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“;
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]
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
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)
{
. . .
}
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
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
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());
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
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
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
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
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