Hallo;
Wellicht is het te laat om goed na te denken maar ik snap niet waarom deze code niet werkt.
Ik heb een textbox met MultiLine op true. Daarnaast heb ik de volgende extension:
Dit return true als de char een getal is en false als dat niet zo is.
Het volgende event heb ik:
Wat mijn verwacht is dat bij elke textchanged event controleer hij steeds het eerste teken van de regel. Als deze geen getal is laat hij een ballon zien (tip = ToolTip). Mocht dat het geval zijn zal hij (break;) de rest van de regels niet controleren. Wanneer er st wel een nummer is zal hij tip verbergen.
Alleen wat er nu gebeurt is dat hij nooit die tooltip laat zien. Als ik die else weg haal toon hij wel de tooltip alleen gaat het niet weg. De tekst op de label toont wel aan dat de if methode juist werkt. Er staat error op als het begin teken niet een getal is.
Weet iemand een antwoord?? Alvast bedankt.
Gr,
Rick
P.s. de code met het probleem is te downloaden op http://www.chroomsoft.nl/vreemd.rar (VS 2008)
Wellicht is het te laat om goed na te denken maar ik snap niet waarom deze code niet werkt.
Ik heb een textbox met MultiLine op true. Daarnaast heb ik de volgende extension:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
| public static bool IsNumber(this char st) { return st.Equals('1') || st.Equals('2') || st.Equals('3') || st.Equals('4') || st.Equals('5') || st.Equals('6') || st.Equals('7') || st.Equals('8') || st.Equals('9'); } |
Dit return true als de char een getal is en false als dat niet zo is.
Het volgende event heb ik:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| private void textBox1_TextChanged(object sender, EventArgs e) { foreach (String st in this.textBox1.Lines) if (st.Length != 0) { if (!st[0].IsNumber()) { this.label1.Text = "error"; tip.Show("Wrong Format", this.textBox1); break; } else { this.label1.Text = ""; tip.Hide(this.textBox1); } } } |
Wat mijn verwacht is dat bij elke textchanged event controleer hij steeds het eerste teken van de regel. Als deze geen getal is laat hij een ballon zien (tip = ToolTip). Mocht dat het geval zijn zal hij (break;) de rest van de regels niet controleren. Wanneer er st wel een nummer is zal hij tip verbergen.
Alleen wat er nu gebeurt is dat hij nooit die tooltip laat zien. Als ik die else weg haal toon hij wel de tooltip alleen gaat het niet weg. De tekst op de label toont wel aan dat de if methode juist werkt. Er staat error op als het begin teken niet een getal is.
Weet iemand een antwoord?? Alvast bedankt.
Gr,
Rick
P.s. de code met het probleem is te downloaden op http://www.chroomsoft.nl/vreemd.rar (VS 2008)
[ Voor 0% gewijzigd door een moderator op 23-12-2008 01:19 . Reden: Code tags toegevoegd ]