WikiElectronique

Wiki sur l'électronique et l'informatique

Outils pour utilisateurs

Outils du site


memo_des_indispensables

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
memo_des_indispensables [2015/04/17 23:12]
82.228.9.53 [OpenFileDialog]
memo_des_indispensables [2017/12/06 16:13] (Version actuelle)
Ligne 18: Ligne 18:
    
 ==== Lecture d'un fichier texte ==== ==== Lecture d'un fichier texte ====
-<code csharp |OpenFileDialog +<code csharp |OpenFileDialog> 
-                System.IO.StreamReader file = new System.IO.StreamReader(textBoxIdModele.Text);​ +System.IO.StreamReader file = new System.IO.StreamReader(textBoxIdModele.Text);​ 
-                string Text = file.ReadToEnd();​ +string Text = file.ReadToEnd();​ 
-                file.Close();​+file.Close();​
 </​code>​ </​code>​
 ==== Lecture d'un fichier texte ligne par ligne ==== ==== Lecture d'un fichier texte ligne par ligne ====
Ligne 38: Ligne 38:
 ==== Ecriture d'un fichier texte ==== ==== Ecriture d'un fichier texte ====
  
-<code csharp |OpenFileDialog>+<code csharp |WriteAllText>
 System.IO.File.WriteAllText(@"​C:​\Users\Public\TestFolder\WriteText.txt",​ text); System.IO.File.WriteAllText(@"​C:​\Users\Public\TestFolder\WriteText.txt",​ text);
 </​code> ​ </​code> ​
 +
 +==== Selectionner un répertoire ====
 +<code csharp |FolderBrowserDialog>​
 +string Path;
 +
 +FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();​
 +folderBrowserDialog.RootFolder = Environment.SpecialFolder.DesktopDirectory;​
 +if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
 +{
 +    Path = folderBrowserDialog.SelectedPath;​
 +}
 +</​code> ​
 +
 +===== Événements =====
 +Vous avez un objet qui doit vous renvoyer une information. Exemple un client doit se connecter à un serveur et vous souhaitez recupérer l'​information qu'il s'est connecté.
 +Voici un petit exemple.
 +
 +La premiere chose à faire est dans la classe de votre objet de créer le ou les évenements.
 +Cette événement renverra un argument herité de EventArgs. Il est possible de passer n'​importe quelle variable que l'on souhaite
 +
 +<code csharp |Exemple d'​evenement Classe Client>
 +    class Client
 +    {
 +        public event EventHandler<​ConnectedEventArgs>​ ClientConneted;​
 +
 +        protected virtual void OnClientConnected(ConnectedEventArgs e)
 +        {
 +            if (ClientConneted != null) ClientConneted(this,​ e);
 +        }
 +
 +        public Client()
 +        {
 +        }
 +
 +        public void Connect()
 +        {
 +            //​Procédure de connexion ....
 +            // Si connecté :
 +
 +            //​Déclenchement de l'​évenement
 +            OnClientConnected(new ConnectedEventArgs("​Connexion OK !",​14));​
 +        }
 +    }
 +
 +    //Classe de l'​argument de l'​evement
 +    public class ConnectedEventArgs : EventArgs
 +    {
 +        internal string m_msg; ​  //Un parametre quelconque passé
 +        internal int m_val;
 +
 +        public ConnectedEventArgs(string msg, int val)
 +        {
 +            m_msg = msg;
 +            m_val = val;
 +        }
 +    }
 +</​code>​
 +
 +Une fois que vous avez créé votre événement dans votre objet, il faut que votre application s'​abonne à cette événement :
 +
 + <​code csharp |Exemple d'​evenement Abonnement et déclenchement>​
 +    class Client
 +    {
 +        Client clt = new Client();
 +
 +        public Form1()
 +        {
 +            InitializeComponent();​
 +
 +            //​Abonnement à l'​évenement
 +            clt.ClientConneted += new EventHandler<​ConnectedEventArgs>​(clt_ClientConneted);​
 +            //Lancement de la précudure de connexion qui déclenchera l'​évenement
 +            clt.Connect();​
 +        }
 +
 +        /// <​summary>​
 +        /// Methode qui sera executé au déclenchement de l'​évenement
 +        /// </​summary>​
 +        /// <param name="​sender"></​param>​
 +        /// <param name="​e"></​param>​
 +        private void clt_ClientConneted(object sender, ConnectedEventArgs e)
 +        {
 +            MessageBox.Show("​Client connecté, argument: " + e.m_msg + " val: " + e.m_val); ​
 +        }
 +    }
 +</​code>​
memo_des_indispensables.1429305126.txt.gz · Dernière modification: 2017/12/06 16:11 (modification externe)