Informatique
> C#
> Exemples simples
Résolveur
de noms d'hôtes (obtention d'adresses IP):
L'utilisateur
peut choisir parmi les nom d'hôtes prédéfinis, ou
bien spécifier un nom qui sera également ajouté à
la liste.
Voici d'abord l'ajout d'un nouveau nom d'hôte, après avoir
appuyé sur <Enter>:
private void cbHote_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { if ((Keys)e.KeyChar == Keys.Enter) { cbHote.Items.Add (cbHote.Text); // ajout du nom d'hôte cbHote.SelectedIndex = cbHote.Items.Count - 1; // sélection du nom dans la liste cbHote.SelectionLength = cbHote.Text.Length; // sélection du nom en vue d'en spécifier un autre e.Handled = true; // événement traité } }
|
Voici le
code principal qui permet de récupérer la liste des adresses
IP correspondant au nom d'hôte:
private void cbHote_SelectedIndexChanged(object sender, System.EventArgs e) { try // résolution du nom d'hôte spécifié { IPHostEntry ipadr = Dns.Resolve (cbHote.SelectedItem.ToString()); cbHote.Text = cbHote.SelectedItem.ToString(); string ip = ipadr.AddressList[0].ToString();
listBox1.Items.Clear(); // vidage du listBox
listBox1.Items.AddRange (ipadr.AddressList); // ajout des adresses IP
txtIP.Text = ip; // affichage de l'adresse IP principale
}
catch // Hôte non trouvé
{
MessageBox.Show(this,"Résolution impossible.","Erreur",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
|
Le code suivant
permet d'afficher dans un navigateur l'URL correspondant au label situé
en bas à gauche de la fenêtre:
private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) { System.Diagnostics.Process.Start(linkLabel1.Text); }
|
Remarque:
ne pas oublier d'ajouter using System.Net; au début
du code source:
|