7.- Programacion en Formas de Windows

download 7.- Programacion en Formas de Windows

of 20

description

Formas de Windows

Transcript of 7.- Programacion en Formas de Windows

  • 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