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 @++
Version imprimable
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 :)
:piou:Citation:
Envoyé par SaumonAgile
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...
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,Citation:
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:
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 :D
C'est une méthode de Object.