La liaison d'une VB.NET de l'étiquette.texte à un objet de propriété
Je veux avoir une étiquette dans un formulaire dont la valeur de texte change en fonction de la valeur d'une instance d'une classe. Il semble que j'ai peut lier la valeur de texte de l'étiquette d'un objet source de données. Quand j'essaye de cela, il ne semble pas fonctionner.
Me.Label4.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.ItemInfoBindingSource, "ItemNumber", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged))
Mon itemInfoBindingSource:
Me.ItemInfoBindingSource.DataSource = GetType(CFP.ItemInfo)
et la définition de la classe:
Public Class ItemInfo
Public Property ItemNumber As String = "rename"
Public Property Description As String
Public Property FileLocation As String
Public Property CompileHistory As List(Of CompileHistory)
End Class
Je pense que ce que j'ai fait est de se lier à une classe, une instance d'une classe. Penser à ce sujet, ce que je veux vraiment faire est de lier une instance d'une classe à une étiquette... Comment?
Est-ce possible?
OriginalL'auteur Eric | 2013-09-29
Vous devez vous connecter pour publier un commentaire.
Oui, c'est possible, mais vous avez besoin de déclencher un événement de laisser l'étiquette de savoir que la propriété a changé. Si vous utilisez un type comme une BindingList, ce serait fait automatiquement, mais vous êtes en essayant de se lier à un
String
qui ne soulève pas PropertyChanged événements.Pour ajouter l'événement à votre classe:
Voici le résultat de ces changements pour tout le ItemNumber bien dans votre classe:
J'ai ajouté une zone de texte d'étiquette et à une forme, ajout de la liaison de données dans le
Form.Load
cas, l'ajout d'un champ appelé ItemInfoBindingSource de type ItemInfo, et mise à jour de la ItemNumber dans leTextBox.TextChanged
événement.Maintenant, lorsque vous tapez dans la zone de texte, ItemNumber.Ensemble est appelé, et génère un événement de laisser quelque chose à l'écoute sais qu'il a été modifié. L'étiquette est à l'écoute, et il met à jour son Texte à la propriété, de sorte que vous pouvez voir la nouvelle valeur.
OriginalL'auteur kvermeer