Ci-dessous, les différences entre deux révisions de la page.
memo_des_indispensables [2015/04/25 20:05] 82.228.9.53 [Événements] |
memo_des_indispensables [2017/12/06 16:13] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== MEMO des indispensables C# ====== | ||
- | |||
- | ===== Dossier et fichier ===== | ||
- | |||
- | ==== OpenFileDialog ==== | ||
- | <code csharp |OpenFileDialog> | ||
- | OpenFileDialog openFileDialogModele = new OpenFileDialog(); | ||
- | openFileDialogModele.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"; | ||
- | openFileDialogModele.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); | ||
- | |||
- | DialogResult result = openFileDialogModele.ShowDialog(); | ||
- | if (result == DialogResult.OK) | ||
- | { | ||
- | textBoxModele.Text = openFileDialogModele.FileName; | ||
- | } | ||
- | </code> | ||
- | |||
- | ==== Lecture d'un fichier texte ==== | ||
- | <code csharp |OpenFileDialog> | ||
- | System.IO.StreamReader file = new System.IO.StreamReader(textBoxIdModele.Text); | ||
- | string Text = file.ReadToEnd(); | ||
- | file.Close(); | ||
- | </code> | ||
- | ==== Lecture d'un fichier texte ligne par ligne ==== | ||
- | |||
- | <code csharp |OpenFileDialog> | ||
- | List<string> lines = new List<string>(); | ||
- | |||
- | string line; | ||
- | System.IO.StreamReader file = new System.IO.StreamReader(@"c:\test.txt"); | ||
- | while ((line = file.ReadLine()) != null) | ||
- | { | ||
- | lines.Add(line); | ||
- | } | ||
- | </code> | ||
- | |||
- | ==== Ecriture d'un fichier texte ==== | ||
- | |||
- | <code csharp |WriteAllText> | ||
- | System.IO.File.WriteAllText(@"C:\Users\Public\TestFolder\WriteText.txt", text); | ||
- | </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> |