Would you like to react to this message? Create an account in a few clicks or log in to continue.

    GUI# Basics & fundamentals

    avatar
    Admin
    Admin


    Posts : 77
    Join date : 2009-07-28

    GUI# Basics & fundamentals Empty GUI# Basics & fundamentals

    Post  Admin Thu Jul 30, 2009 7:19 am

    MESSAGEBOX CLASS

    Method : Show :: Static - enum
    The show method is a static who's return type is an ENUMERATION of the class DialogResult :
    Abort,Cancel,Ignore,No,None,Ok,Retry,yes.
    In order to reach this enum

    Code:

    DialogResult result = MessageBox.Show(..);
    if (result == DialogResult.Yes) {...code}
    avatar
    Admin
    Admin


    Posts : 77
    Join date : 2009-07-28

    GUI# Basics & fundamentals Empty Re: GUI# Basics & fundamentals

    Post  Admin Thu Jul 30, 2009 7:48 am

    .NET GUI BASIC COMPONENTS
    TEXT BOX
    Text handling

    Function :: Syntax
    Read text from box :: Box.Text
    Add text to x :: Box2.Text += Box1.Text + Environement.NewLine();

    COMBO BOX

    Fields

    C.Items.Count nombre d'éléments du combo
    C.Items[i] élément i du combo
    C.Add(object o) ajoute l'objet o en dernier élément du combo
    C.AddRange(object[] objets) ajoute un tableau d'objets en fin de combo
    C.Insert(int i, object o) ajoute l'objet o en position i du combo
    C.RemoveAt(int i) enlève l'élément i du combo
    C.Remove(object o) enlève l'objet o du combo
    C.Clear() supprime tous les éléments du combo
    C.IndexOf(object o) rend la position i de l'objet o dans le combo
    C.SelectedIndex index de l'élément sélectionné
    C.SelectedItem élément sélectionné
    C.SelectedItem.Text texte affiché de l'élément sélectionné
    C.Text texte affiché de l'élément sélectionné
    avatar
    Admin
    Admin


    Posts : 77
    Join date : 2009-07-28

    GUI# Basics & fundamentals Empty Re: GUI# Basics & fundamentals

    Post  Admin Sat Aug 01, 2009 5:46 am

    RADIO BUTTONS & CHECKBOXES

    Code:

            private void affiche(object sender, EventArgs e) // Afected method on event
            {
                if (sender is CheckBox) // First Makes sure that the sender is a checkbox
                {
                    CheckBox chk = (CheckBox)sender; // Then a cast to the real type has to be done
                    listBox1.Items.Add(chk.Name + "=" + chk.Checked); // Code ...
                }
                if (sender is RadioButton)
                {
                    RadioButton rdb = (RadioButton)sender;
                    listBox1.Items.Add(rdb.Name + "=" + rdb.Checked);
                }
            }
    avatar
    Admin
    Admin


    Posts : 77
    Join date : 2009-07-28

    GUI# Basics & fundamentals Empty Re: GUI# Basics & fundamentals

    Post  Admin Sat Aug 01, 2009 6:25 am

    SCROLLBARS FLOAT VALUES

    1 hScrollBar hScrollBar1 un variateur horizontal
    2 hScrollBar hScrollBar2 un variateur horizontal qui suit les variations du variateur 1
    3 Label labelValeurHS1 affiche la valeur du variateur horizontal
    4 NumericUpDown numericUpDown2 permet de fixer la valeur du variateur 2
    • Un variateur ScrollBar permet à l'utilisateur de choisir une valeur dans une plage de valeurs entières symbolisée par la
    "bande" du variateur sur laquelle se déplace un curseur. La valeur du variateur est disponible dans sa propriété Value.
    • Pour un variateur horizontal, l'extrémité gauche représente la valeur minimale de la plage, l'extrémité droite la valeur
    maximale, le curseur la valeur actuelle choisie. Pour un variateur vertical, le minimum est représenté par l'extrémité haute,
    le maximum par l'extrémité basse. Ces valeurs sont représentées par les propriétés Minimum et Maximum et valent par
    défaut 0 et 100.
    • Un clic sur les extrémités du variateur fait varier la valeur d'un incrément (positif ou négatif) selon l'extrémité cliquée
    appelée SmallChange qui vaut par défaut 1.
    • Un clic de part et d'autre du curseur fait varier la valeur d'un incrément (positif ou négatif) selon l'extrémité cliquée
    appelée LargeChange qui vaut par défaut 10.
    • Lorsqu'on clique sur l'extrémité supérieure d'un variateur vertical, sa valeur diminue. Cela peut surprendre l'utilisateur
    moyen qui s'attend normalement à voir la valeur "monter". On règle ce problème en donnant une valeur négative aux
    propriétés SmallChange et LargeChange
    • Ces cinq propriétés (Value, Minimum, Maximum, SmallChange, LargeChange) sont accessibles en lecture et
    écriture.
    • L'événement principal du variateur est celui qui signale un changement de valeur : l'événement Scroll.
    Un composant NumericUpDown est proche du variateur : il a lui aussi les propriétés Minimum, Maximum et Value, par défaut 0,
    100, 0. Mais ici, la propriété Value est affichée dans une boîte de saisie faisant partie intégrante du contrôle. L'utilisateur peut lui
    même modifier cette valeur sauf si on a mis la propriété ReadOnly du contrôle à vrai. La valeur de l'incrément est fixée par la
    propriété Increment, par défaut 1. L'événement principal du composant NumericUpDown est celui qui signale un changement de valeur
    : l'événement ValueChanged
    Le code de l'application est le suivant :
    1. using System.Windows.Forms;
    2.
    3. namespace Chap5 {
    4. public partial class Form1 : Form {
    5. public Form1() {
    6. InitializeComponent();
    7. // on fixe les caractéristiques du variateur 1
    Interfaces graphiques 189
    1
    2
    3
    4
    8. hScrollBar1.Value = 7;
    9. hScrollBar1.Minimum = 1;
    10. hScrollBar1.Maximum = 130;
    11. hScrollBar1.LargeChange = 11;
    12. hScrollBar1.SmallChange = 1;
    13. // on donne au variateur 2 les mêmes caractéristiques qu'au variateur 1
    14. hScrollBar2.Value = hScrollBar1.Value;
    15. hScrollBar2.Minimum = hScrollBar1.Minimum;
    16. hScrollBar2.Maximum = hScrollBar1.Maximum;
    17. hScrollBar2.LargeChange = hScrollBar1.LargeChange;
    18. hScrollBar2.SmallChange = hScrollBar1.SmallChange;
    19. // idem pour l'incrémenteur
    20. numericUpDown2.Value = hScrollBar1.Value;
    21. numericUpDown2.Minimum = hScrollBar1.Minimum;
    22. numericUpDown2.Maximum = hScrollBar1.Maximum;
    23. numericUpDown2.Increment = hScrollBar1.SmallChange;
    24.
    25. // on donne au Label la valeur du variateur 1
    26. labelValeurHS1.Text = hScrollBar1.Value.ToString();
    27. }
    28.
    29. private void hScrollBar1_Scroll(object sender, ScrollEventArgs e) {
    30. // changement de valeur du variateur 1
    31. // on répercute sa valeur sur le variateur 2 et sur le label
    32. hScrollBar2.Value = hScrollBar1.Value;
    33. labelValeurHS1.Text = hScrollBar1.Value.ToString();
    34. }
    35.
    36. private void numericUpDown2_ValueChanged(object sender, System.EventArgs e) {
    37. // l'incrémenteur a changé de valeur
    38. // on fixe la valeur du variateur 2
    39. hScrollBar2.Value = (int)numericUpDown2.Value;
    40. }
    41. }
    avatar
    Admin
    Admin


    Posts : 77
    Join date : 2009-07-28

    GUI# Basics & fundamentals Empty Re: GUI# Basics & fundamentals

    Post  Admin Sat Aug 01, 2009 7:20 am

    ToolStripMenuItem

    In order to affect a method to an menu, set the click event to the method with the parameters (object sender, EventArgs e)
    and put your code
    Code:
    1. private void affiche(object sender, EventArgs e) {
    2. // affiche dans le TextBox le nom du sous-menu choisi
    3. labelStatut.Text = ((ToolStripMenuItem)sender).Text;
    4. }
    avatar
    Admin
    Admin


    Posts : 77
    Join date : 2009-07-28

    GUI# Basics & fundamentals Empty Re: GUI# Basics & fundamentals

    Post  Admin Sat Aug 01, 2009 3:31 pm

    Timer


    1. using System;
    2. using System.Windows.Forms;
    3.
    4. namespace Chap5 {
    5. public partial class Form1 : Form {
    6. public Form1() {
    7. InitializeComponent();
    8. }
    9.
    10. // variable d'instance
    11. private DateTime début = DateTime.Now;
    12. ...
    13. private void buttonArretMarche_Click(object sender, EventArgs e) {
    14. // arrêt ou marche ?
    15. if (buttonArretMarche.Text == "Marche") {
    16. // on note l'heure de début
    17. début = DateTime.Now;
    18. // on l'affiche
    19. labelChrono.Text = "00:00:00";
    20. // on lance le timer
    21. timer1.Enabled = true;
    22. // on change le libellé du bouton
    23. buttonArretMarche.Text = "Arrêt";
    24. // fin
    25. return;
    26. }//
    27. if (buttonArretMarche.Text == "Arrêt") {
    28. // arrêt du timer
    Interfaces graphiques 200
    1
    2
    29. timer1.Enabled = false;
    30. // on change le libellé du bouton
    31. buttonArretMarche.Text = "Marche";
    32. // fin
    33. return;
    34. }
    35. }
    36.
    37. }
    38. }
    • ligne 13 : la procédure qui traite le clic sur le bouton Arrêt/Marche.
    • ligne 15 : le libellé du bouton Arrêt/Marche est soit "Arrêt" soit "Marche". On est donc obligé de faire un test sur ce
    libellé pour savoir quoi faire.
    • ligne 17 : dans le cas de "Marche", on note l'heure de début dans une variable début qui est une variable globale (ligne 11)
    de l'objet formulaire
    • ligne 19 : initialise le contenu du label LabelChrono
    • ligne 21 : le timer est lancé (Enabled=true)
    • ligne 23 : libellé du bouton passe à "Arrêt".
    • ligne 27 : dans le cas de "Arrêt"
    • ligne 29 : on arrête le timer (Enabled=false)
    • ligne 31 : on passe le libellé du bouton à "Marche".
    Il nous reste à traiter l'événement Tick sur l'objet timer1, événement qui se produit toutes les secondes :
    1. private void timer1_Tick(object sender, EventArgs e) {
    2. // une seconde s'est écoulée
    3. DateTime maintenant = DateTime.Now;
    4. TimeSpan durée = maintenant - début;
    5. // on met à jour le chronomètre
    6. labelChrono.Text = durée.Hours.ToString("d2") + ":" + durée.Minutes.ToString("d2") + ":" +
    durée.Seconds.ToString("d2");
    7. }
    • ligne 3 : on note l'heure du moment
    • ligne 4 : on calcule le temps écoulé depuis l'heure de lancement du chronomètre. On obtient un objet de type TimeSpan qui
    représente une durée dans le temps.
    • ligne 6 : celle-ci doit être affichée dans le chronomètre sous la forme hh🇲🇲ss. Pour cela nous utilisons les propriétés
    Hours, Minutes, Seconds de l'objet TimeSPan qui représentent respectivement les heures, minutes, secondes de la durée que
    nous affichons au format ToString("d2") pour avoir un affichage sur 2 chiffres.

    Sponsored content


    GUI# Basics & fundamentals Empty Re: GUI# Basics & fundamentals

    Post  Sponsored content


      Current date/time is Mon May 20, 2024 9:45 am