Salut
Est il possible de reecrire la fonction ToString d'un obejt de base ; par exemple Integer ; sans pour autant devoir faire une classe derivee de Integer ?
thx @++
Salut
Est il possible de reecrire la fonction ToString d'un obejt de base ; par exemple Integer ; sans pour autant devoir faire une classe derivee de Integer ?
thx @++
Non![]()
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
Tu peux toujours créer une nouvelle méthode MyToString qui prend en paramètre un entier et qui renvoit une chaîne de caractères...
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
Je vais expliquer mon prob : j'ai un combo box ou je met des objet de type TimeSpan pour pouvoir enregistrer dans les settings la selection et pouvoir recuperer le timespan ; Mais il utilise pour l'affichage ToString ; qui n est pas tres explicite ; ex : 01:02:30
Pourquoi ne pas Hériter de TimeSpan et redéfinir son ToString()?
Je vx bien ...
Mais comment mettre dans les settings des Classes personnelles ?
Salut,Envoyé par Seth77
si j'ai bien compris, il y a juste l'affichage qui te pose un probleme. Si c'est le cas, essaie de dessiner toi meme la representation de ton item, tu pourras afficher ce que tu veux a partir de ton item, et pas seulement son ToString().
Le code suppose une form form1 et un cbox comboBox1. Avec ca, tu gardes des timespan tout ce qu'il y a de plus normal, mais tu as juste personnalisé l'affchage de ces derniers dans ton combobox (Ici le total en seconds de ton timespan). Encore une precision pour que l'affichage de l'item choisi ne soit pas un ToString(), j'ai du placer comboBox1.DropDownStyle à DropDownList, de fait la zone de texte du combobox n'est plus modifiable et ne peux afficher que ce qu'il y a dans ta liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public Form1() { InitializeComponent(); comboBox1.DrawMode = DrawMode.OwnerDrawFixed; comboBox1.DropDownStyle = ComboBoxStyle.DropDownList; comboBox1.DrawItem += new DrawItemEventHandler(comboBox1_DrawItem); } void comboBox1_DrawItem(object sender, DrawItemEventArgs e) { if (e.Index > -1) { e.DrawBackground(); e.Graphics.DrawString("il y a " + ((TimeSpan)comboBox1.Items[e.Index]).TotalSeconds + " secondes", e.Font, Brushes.Black, e.Bounds.Location); e.DrawFocusRectangle(); } } private void Form1_Load(object sender, EventArgs e) { comboBox1.Items.Add(new TimeSpan(1, 20, 30)); comboBox1.Items.Add(new TimeSpan(0, 15, 20)); comboBox1.Items.Add(new TimeSpan(3, 15, 41)); }
Voila![]()
Salut
Y a t il une interface permettant d implementer la fonction ToString ?
Non![]()
C'est une méthode de Object.
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
Partager