2009-03-02 6 views
0

J'ai une application Windows Form et une étiquette qui est databound basée sur une sélection d'un DataGridView. Ce que j'essaye de faire est de formater le texte d'étiquette (qui est taille de fichier en octets) après qu'une nouvelle rangée dans la grille soit choisie. Comment puis-je brancher ça? J'ai essayé d'utiliser TextChanged mais ma fonction de formatage est appelée deux fois, une fois pour quand le texte databound est ajouté à l'étiquette et encore une fois APRÈS avoir formaté le texte à ce que je veux. Je peux mettre un si ou essayer attraper ici pour l'arrêter la deuxième fois mais j'espérais qu'il y aurait une meilleure façon de le faire. MerciMettre en forme un événement d'étiquette de base de données

Répondre

1

N'utilisez pas l'événement TextChanged. Au lieu de cela, obtenez l'instance Binding connectée au Label et attachée à l'événement Format sur la liaison. Puis, lorsque les données changent et mettent à jour l'étiquette, l'événement Format se déclenche et c'est dans ce gestionnaire d'événements que vous pouvez définir votre format de manière personnalisée (ce que je suppose n'est pas exprimable avec des chaînes de format standard) .

+1

Je l'ai eu, merci. filesizeLabel.DataBindings.Add ("Text", BindSource, "FileSize"); filesizeLabel.DataBindings [0] .Format + = FormatFichierSize; –

Questions connexes