L'une des choses que je préfère faire est de créer la couche « présentation » pour la forme. C'est dans cette couche que je déclare les propriétés liées aux contrôles du formulaire. Dans ce cas, le contrôle est une zone de texte.
Dans cet exemple, j'ai une forme avec une zone de texte pour afficher une adresse IP
Nous créons maintenant la source de liaison à travers les propriétés de zone de texte. Sélectionnez DataBindings-> Text. Cliquez sur la flèche vers le bas sélectionnez "Ajouter une source de données de projet".
Cela démarre que l'Assistant source de données. Sélectionnez un objet Hit "Suivant".
Maintenant, sélectionnez la classe qui a la propriété qui sera limitée à la zone de texte. Dans cet exemple, j'ai choisi PNetworkOptions. Sélectionnez Terminer pour terminer l'assistant. Le BindingSource ne sera pas créé.
L'étape suivante consiste à sélectionner la propriété réelle de la classe liée. Depuis DataBindings-> Text, sélectionnez le downarrow et sélectionnez le nom de la propriété qui sera lié à la zone de texte.
Dans la classe qui a votre propriété, doit INotifyPropertyChanged mis en œuvre pour la communication 2 voies pour le champ Adresse IP
public class PNetworkOptions : IBaseInterface, INotifyPropertyChanged
{
private string _IPAddress;
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
public string IPAddress
{
get { return _IPAddress; }
set
{
if (value != null && value != _IPAddress)
{
_IPAddress = value;
NotifyPropertyChanged("IPAddress");
}
}
}
}
Dans le constructeur de forme, nous devons définir plus précisément la liaison
Binding IPAddressbinding = mskTxtIPAddress.DataBindings.Add("Text", _NetOptions, "IPAddress",true,DataSourceUpdateMode.OnPropertyChanged);
est ce Winforms? – Natrium
Il dérive de la classe Form. – rahul