<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:atom="http://www.w3.org/2005/Atom"
>
	<channel>
		<copyright>Copyright 1998 - 2026 DPG Media B.V.</copyright>
		<pubDate>Thu, 23 Jul 2026 11:12:06 GMT</pubDate>
		<lastBuildDate>Thu, 23 Jul 2026 11:12:06 GMT</lastBuildDate>
		<description>GoT - list_messages</description>
		<image>
			<link>https://gathering.tweakers.net/</link>
			<title>Gathering of Tweakers</title>
			<url>https://tweakers.net/g/if/logo.gif</url>
		</image>
		<language>nl-nl</language>
		<link>https://gathering.tweakers.net/rss/list_messages/1304526</link>
		<atom:link href="https://gathering.tweakers.net/rss/list_messages/1304526" rel="self" type="application/rss+xml" />
		<title>[C#] Dialog sluiten als de gebruiker naast de dialog klikt - Softwareontwikkeling - GoT</title>
		<webMaster>gathering@tweakers.net (Administrator)</webMaster>
		<item>
			<title>Verwijderd</title>
			<link>https://gathering.tweakers.net/forum/list_message/30484834#30484834</link>
			<description>C# heeft anders een automatische garbage collect...dus behalve als je echt een enorm resource-vretend dialoogschermpje hebt is het niet &#039;echt nodig&#039; .</description>
			<content:encoded><![CDATA[C# heeft anders een automatische garbage collect...dus behalve als je echt een enorm resource-vretend dialoogschermpje hebt is het niet &#039;echt nodig&#039; <img src="https://tweakers.net/g/s/smile.svg" width="16" height="16" alt=":)">.]]></content:encoded>
			<dc:creator>Verwijderd</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/30484834#30484834</guid>
			<pubDate>Sun, 27 Jul 2008 00:13:54 GMT</pubDate>
		</item>
		<item>
			<title>wackmaniac</title>
			<link>https://gathering.tweakers.net/forum/list_message/30484686#30484686</link>
			<description>Resources vrijmaken. Hoewel het in dit geval niet veel resources zijn vind ik het wel een goede gewoonte om gebruikte resources vrij te maken, maar daar kan ik fout in zijn. 

Zal nog eens kijken naar de daadwerkelijke verschillen tussen Show() en ShowDialog().</description>
			<content:encoded><![CDATA[Resources vrijmaken. Hoewel het in dit geval niet veel resources zijn vind ik het wel een goede gewoonte om gebruikte resources vrij te maken, maar daar kan ik fout in zijn. <br>
<br>
Zal nog eens kijken naar de daadwerkelijke verschillen tussen Show() en ShowDialog().]]></content:encoded>
			<dc:creator>wackmaniac</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/30484686#30484686</guid>
			<pubDate>Sat, 26 Jul 2008 22:41:16 GMT</pubDate>
		</item>
		<item>
			<title>Verwijderd</title>
			<link>https://gathering.tweakers.net/forum/list_message/30482010#30482010</link>
			<description>Je gebruikt ShowDialog(); dat wil zeggen dat het dialoogvenster actief blijft totdat het dialoogvenster wordt gesloten, m.a.w. het venster blijft actief. Gebruik Show() zodat je dit probleem kunt tekkelen. LostFocus en GotFocus zijn b.t.w. alleen geldig voor focus-wisselingen binnen je eigen app. dus een muisklik op het bureaublad zal weinig opleveren. Deactivate is denk ik een meer bruikbaar event; sowieso kun je dan ook ShowDialog() weer gebruiken. Het nut van Dispose() aanroepen ontgaat me overigens wel een beetje; tenzij je zeer veel resourcevretende toestanden gebruikt.

Zie net dat onze berichten elkaar kruisten. Maar vanwaar die Dispose()?</description>
			<content:encoded><![CDATA[Je gebruikt ShowDialog(); dat wil zeggen dat het dialoogvenster actief blijft totdat het dialoogvenster wordt gesloten, m.a.w. het venster blijft actief. Gebruik Show() zodat je dit probleem kunt tekkelen. LostFocus en GotFocus zijn b.t.w. alleen geldig voor focus-wisselingen binnen je eigen app. dus een muisklik op het bureaublad zal weinig opleveren. Deactivate is denk ik een meer bruikbaar event; sowieso kun je dan ook ShowDialog() weer gebruiken. Het nut van Dispose() aanroepen ontgaat me overigens wel een beetje; tenzij je zeer veel resourcevretende toestanden gebruikt.<br>
<br>
Zie net dat onze berichten elkaar kruisten. Maar vanwaar die Dispose()?]]></content:encoded>
			<dc:creator>Verwijderd</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/30482010#30482010</guid>
			<pubDate>Sat, 26 Jul 2008 08:44:15 GMT</pubDate>
		</item>
		<item>
			<title>wackmaniac</title>
			<link>https://gathering.tweakers.net/forum/list_message/30481997#30481997</link>
			<description>Gevonden!

Je dient gebruik te maken van het Deactivate event:

C#:1
this.Deactivate += New EventHandler(deactivateDialog);</description>
			<content:encoded><![CDATA[Gevonden!<br>
<br>
Je dient gebruik te maken van het <i>Deactivate</i> event:<br>
<br>
<div class="code">C#:<br><table class="phphighlight"><tr><td class="phphighlightline"><pre>1
</pre></td><td class="phphighlightcode"><div><pre><span class="code_k">this</span><span class="code_p">.</span><span class="code_n">Deactivate</span><span class="code_w"> </span><span class="code_o">+=</span><span class="code_w"> </span><span class="code_n">New</span><span class="code_w"> </span><span class="code_n">EventHandler</span><span class="code_p">(</span><span class="code_n">deactivateDialog</span><span class="code_p">);</span></pre></div></td></tr></table></div>]]></content:encoded>
			<dc:creator>wackmaniac</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/30481997#30481997</guid>
			<pubDate>Sat, 26 Jul 2008 08:39:42 GMT</pubDate>
		</item>
		<item>
			<title>wackmaniac</title>
			<link>https://gathering.tweakers.net/forum/list_message/30481912#30481912</link>
			<description>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:

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(&quot;Fout: &quot; + 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(&quot;Focus verloren, proberen de boel te sluiten&quot;);
            //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?</description>
			<content:encoded><![CDATA[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:<br>
<br>
<div class="code">C#:<br><table class="phphighlight"><tr><td class="phphighlightline"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="phphighlightcode"><div><pre><span class="code_w">        </span><span class="code_k">private</span><span class="code_w"> </span><span class="code_k">void</span><span class="code_w"> </span><span class="code_nf">iconClick</span><span class="code_p">(</span><span class="code_kt">object</span><span class="code_w"> </span><span class="code_n">sender</span><span class="code_p">,</span><span class="code_w"> </span><span class="code_n">MouseEventArgs</span><span class="code_w"> </span><span class="code_n">e</span><span class="code_p">)</span>
<span class="code_w">        </span><span class="code_p">{</span>
<span class="code_w">            </span><span class="code_k">if</span><span class="code_w"> </span><span class="code_p">(</span><span class="code_n">e</span><span class="code_p">.</span><span class="code_n">Button</span><span class="code_w"> </span><span class="code_o">==</span><span class="code_w"> </span><span class="code_n">MouseButtons</span><span class="code_p">.</span><span class="code_n">Left</span><span class="code_p">)</span>
<span class="code_w">            </span><span class="code_p">{</span>
<span class="code_w">                </span><span class="code_k">try</span>
<span class="code_w">                </span><span class="code_p">{</span>
<span class="code_w">                    </span><span class="code_k">new</span><span class="code_w"> </span><span class="code_nf">SymbolPane</span><span class="code_p">().</span><span class="code_n">ShowDialog</span><span class="code_p">();</span>
<span class="code_w">                </span><span class="code_p">}</span>
<span class="code_w">                </span><span class="code_k">catch</span><span class="code_w"> </span><span class="code_p">(</span><span class="code_n">Exception</span><span class="code_w"> </span><span class="code_n">ex</span><span class="code_p">)</span><span class="code_w"> </span><span class="code_p">{</span>
<span class="code_w">                    </span><span class="code_n">MessageBox</span><span class="code_p">.</span><span class="code_n">Show</span><span class="code_p">(</span><span class="code_s">&quot;Fout: &quot;</span><span class="code_w"> </span><span class="code_o">+</span><span class="code_w"> </span><span class="code_n">ex</span><span class="code_p">.</span><span class="code_n">Message</span><span class="code_p">);</span>
<span class="code_w">                </span><span class="code_p">}</span>
<span class="code_w">            </span><span class="code_p">}</span>
<span class="code_w">        </span><span class="code_p">}</span><span class="code_w"> </span><span class="code_c1">// iconClick</span></pre></div></td></tr></table></div><br>
<br>
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:<br>
<br>
<div class="code">C#:<br><table class="phphighlight"><tr><td class="phphighlightline"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="phphighlightcode"><div><pre><span class="code_w">        </span><span class="code_k">private</span><span class="code_w"> </span><span class="code_k">void</span><span class="code_w"> </span><span class="code_nf">InitializeComponent</span><span class="code_p">()</span>
<span class="code_w">        </span><span class="code_p">{</span>
<span class="code_w">            </span><span class="code_p">...</span>
<span class="code_w">            </span><span class="code_k">this</span><span class="code_p">.</span><span class="code_n">LostFocus</span><span class="code_w"> </span><span class="code_o">+=</span><span class="code_w"> </span><span class="code_k">new</span><span class="code_w"> </span><span class="code_n">EventHandler</span><span class="code_p">(</span><span class="code_n">focusLost</span><span class="code_p">);</span>
<span class="code_w">        </span><span class="code_p">}</span>

<span class="code_p">...</span>

<span class="code_w">        </span><span class="code_k">private</span><span class="code_w"> </span><span class="code_k">void</span><span class="code_w"> </span><span class="code_nf">focusLost</span><span class="code_p">(</span><span class="code_kt">object</span><span class="code_w"> </span><span class="code_n">sender</span><span class="code_p">,</span><span class="code_w"> </span><span class="code_n">EventArgs</span><span class="code_w"> </span><span class="code_n">e</span><span class="code_p">)</span>
<span class="code_w">        </span><span class="code_p">{</span>
<span class="code_w">            </span><span class="code_n">MessageBox</span><span class="code_p">.</span><span class="code_n">Show</span><span class="code_p">(</span><span class="code_s">&quot;Focus verloren, proberen de boel te sluiten&quot;</span><span class="code_p">);</span>
<span class="code_w">            </span><span class="code_c1">//this.Close();</span>
<span class="code_w">            </span><span class="code_c1">//this.Dispose();</span>
<span class="code_w">        </span><span class="code_p">}</span></pre></div></td></tr></table></div><br>
<br>
Heb Close() en Dispose() even weggecommentariseerd, maar ook de MessageBox krijg ik niet te zien. Heb ik wellicht de verkeerde event ofzo?<br>
<br>
Heb trouwens ook gekeken of deze methode wordt aangeroepen bij het event <i>GotFocus</i>, maar ook niet. Iemand?]]></content:encoded>
			<dc:creator>wackmaniac</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/30481912#30481912</guid>
			<pubDate>Sat, 26 Jul 2008 07:55:56 GMT</pubDate>
		</item>
	</channel>
</rss>