Ben een beetje aan het spelen met C# en ik loop daarbij tegen een probleem aan. Ben aan simpele applicatie aan het maken die vanuit de systray wat zaken moet regelen. Meeste gaat prima, maar nu wil ik dat zodra ik met de linkermuisknop klik op het icoon dat er dan een dialog tevoorschijn komt:
So far, so good. Maar nu wil ik graag dat zodra de gebruiker niet in de dialog klikt, maar ernaast dat dan de dialog weer verdwijnt. In SymbolPane.cs:
Heb Close() en Dispose() even weggecommentariseerd, maar ook de MessageBox krijg ik niet te zien. Heb ik wellicht de verkeerde event ofzo?
Heb trouwens ook gekeken of deze methode wordt aangeroepen bij het event GotFocus, maar ook niet. Iemand?
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
| private void iconClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { try { new SymbolPane().ShowDialog(); } catch (Exception ex) { MessageBox.Show("Fout: " + ex.Message); } } } // iconClick |
So far, so good. Maar nu wil ik graag dat zodra de gebruiker niet in de dialog klikt, maar ernaast dat dan de dialog weer verdwijnt. In SymbolPane.cs:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| private void InitializeComponent() { ... this.LostFocus += new EventHandler(focusLost); } ... private void focusLost(object sender, EventArgs e) { MessageBox.Show("Focus verloren, proberen de boel te sluiten"); //this.Close(); //this.Dispose(); } |
Heb Close() en Dispose() even weggecommentariseerd, maar ook de MessageBox krijg ik niet te zien. Heb ik wellicht de verkeerde event ofzo?
Heb trouwens ook gekeken of deze methode wordt aangeroepen bij het event GotFocus, maar ook niet. Iemand?
Read the code, write the code, be the code!