WikiElectronique

Wiki sur l'électronique et l'informatique

Outils pour utilisateurs

Outils du site


memo_des_indispensables

MEMO des indispensables C#

Dossier et fichier

OpenFileDialog

|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;
}

Lecture d'un fichier texte

|OpenFileDialog
System.IO.StreamReader file = new System.IO.StreamReader(textBoxIdModele.Text);
string Text = file.ReadToEnd();
file.Close();

Lecture d'un fichier texte ligne par ligne

|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);
}

Ecriture d'un fichier texte

|WriteAllText
System.IO.File.WriteAllText(@"C:\Users\Public\TestFolder\WriteText.txt", text);

Selectionner un répertoire

|FolderBrowserDialog
string Path;
 
FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
folderBrowserDialog.RootFolder = Environment.SpecialFolder.DesktopDirectory;
if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
{
    Path = folderBrowserDialog.SelectedPath;
}

É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

|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;
        }
    }

Une fois que vous avez créé votre événement dans votre objet, il faut que votre application s'abonne à cette événement :

|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); 
        }
    }
memo_des_indispensables.txt · Dernière modification: 2015/04/25 20:06 par 82.228.9.53