<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Windows Forms</title><link>http://www.michaelfalconer.co.uk/category/5.aspx</link><description>Windows Forms</description><managingEditor>Michael Falconer</managingEditor><dc:language>en-GB</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Michael D. Falconer</dc:creator><title>Accessing web services through a proxy / firewall</title><link>http://www.michaelfalconer.co.uk/archive/2004/07/02/186.aspx</link><pubDate>Fri, 02 Jul 2004 14:00:00 GMT</pubDate><guid>http://www.michaelfalconer.co.uk/archive/2004/07/02/186.aspx</guid><description>&lt;P&gt;One of the projects I'm involved in at the moment has me developing some client applications (both web and windows based) that access a web service. I was just preparing an initial release when, during testing, I found that the Windows application could not always access the web service as the user had to access the internet via a proxy server. After a quick read of &lt;A href="http://codeproject.com/vb/net/web_service_by_proxy.asp"&gt;this article&lt;/A&gt; on CodeProject and &lt;A href="http://www.dotnet247.com/247reference/msgs/51/257323.aspx"&gt;this posting&lt;/A&gt; on &lt;a title=".NET 247" href="http://www.dotnet247.com" target="_blank"&gt;.NET 247&lt;/a&gt;, I simply added the following code to always call the web service with the users IE proxy settings:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;If&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Not&lt;/FONT&gt;&lt;FONT size=2&gt; WebProxy.GetDefaultProxy.IsBypassed(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;New&lt;/FONT&gt;&lt;FONT size=2&gt; Uri(myWS.Url)) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Then&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim&lt;/FONT&gt;&lt;FONT size=2&gt; myProxy &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;As&lt;/FONT&gt;&lt;FONT size=2&gt; WebProxy = WebProxy.GetDefaultProxy&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myProxy.Credentials = CredentialCache.DefaultCredentials&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; myWS.Proxy = myProxy&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;End&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;If&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;myWS is the web service whose proxy settings you need to set. Hopefully somebody might find it useful!&lt;/P&gt;&lt;img src ="http://www.michaelfalconer.co.uk/aggbug/186.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Michael D. Falconer</dc:creator><title>Adding a Web browser control to a windows form application : Solution #1</title><link>http://www.michaelfalconer.co.uk/archive/2004/05/27/163.aspx</link><pubDate>Thu, 27 May 2004 13:37:00 GMT</pubDate><guid>http://www.michaelfalconer.co.uk/archive/2004/05/27/163.aspx</guid><description>&lt;P&gt;As I mentioned &lt;A href="http://www.michaelfalconer.co.uk/archive/2004/05/24/159.aspx"&gt;here&lt;/A&gt;, I've been trying to solve a problem with a web browser control embedded in a Windows Form application. I found that if you use &lt;A href="http://weblogs.asp.net/kaevans/archive/2003/02/25/2936.aspx" target=_blank&gt;this method &lt;/A&gt;to pass the HTML page as a string, when the web browser control gets focus while tabbing, it will not release it until you click on the contents. Not usually a big issue, but when the spec for the form says it must be accessible without the use of a pointnig device, it counts! This was compounded by the fact that when the web&amp;nbsp;browser did get focus, it would not let you scroll the page using the Page keys.&lt;/P&gt;
&lt;P&gt;After toiling over it, I found that you have to do four things to make it work in an acceptable fashion (not necessarily the best way):&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Add an anchor to the page 
&lt;LI&gt;Add a form elements to the page 
&lt;LI&gt;Add some JavaScript to the page to give the form element focus 
&lt;LI&gt;Not pass the HTML in as a string&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;So what I did was:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Write the HTML string to a temporary file, and load it in by calling the web browsers Navigate method 
&lt;LI&gt;Use the following HTML page template to give the form element focus when the page is initially loaded:&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;html&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;head&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;a&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;script&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;function sf(){document.f.q.focus();}&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;script&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;style&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="text/css"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;INPUT&lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt; &lt;/SPAN&gt;{ &lt;SPAN style="COLOR: red"&gt;WIDTH&lt;/SPAN&gt;: &lt;SPAN style="COLOR: blue"&gt;8px&lt;/SPAN&gt;; &lt;SPAN style="COLOR: red"&gt;BORDER-TOP-STYLE&lt;/SPAN&gt;: &lt;SPAN style="COLOR: blue"&gt;none&lt;/SPAN&gt;; &lt;SPAN style="COLOR: red"&gt;BORDER-RIGHT-STYLE&lt;/SPAN&gt;: &lt;SPAN style="COLOR: blue"&gt;none&lt;/SPAN&gt;; &lt;SPAN style="COLOR: red"&gt;BORDER-LEFT-STYLE&lt;/SPAN&gt;: &lt;SPAN style="COLOR: blue"&gt;none&lt;/SPAN&gt;; &lt;SPAN style="COLOR: red"&gt;HEIGHT&lt;/SPAN&gt;: &lt;SPAN style="COLOR: blue"&gt;18px&lt;/SPAN&gt;; &lt;SPAN style="COLOR: red"&gt;BORDER-BOTTOM-STYLE&lt;/SPAN&gt;: &lt;SPAN style="COLOR: blue"&gt;none&lt;/SPAN&gt; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;style&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;head&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;body&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: fuchsia; FONT-FAMILY: 'Courier New'"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;onload&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;="sf();"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;form&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="f"&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="f"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;a&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;href&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="#"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;a&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;input&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="text"&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;readonly&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="q"&lt;/SPAN&gt;&lt;SPAN style="COLOR: fuchsia"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;size&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="1"/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;form&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;body&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'"&gt;html&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;Phew. And after all that, the user can tab around the windows form, and successfully get the web page to scroll if necessary. It's not pretty, it's not ideal, but it works. The only issue with it is that when the user is tabbing around the form, when focus gets to the web browser control the first stop is invisible (I'm assuming this is when the browser control itself has focus), the second is the form element, and the third is the anchor (when this has focus you can scroll).&lt;/P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;img src ="http://www.michaelfalconer.co.uk/aggbug/163.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Michael D. Falconer</dc:creator><title>Windows form embedded IE browser - tabbing order</title><link>http://www.michaelfalconer.co.uk/archive/2004/05/24/159.aspx</link><pubDate>Mon, 24 May 2004 16:15:00 GMT</pubDate><guid>http://www.michaelfalconer.co.uk/archive/2004/05/24/159.aspx</guid><description>&lt;P&gt;I've been struggling with &lt;A href="http://www.experts-exchange.com/Programming/Programming_Languages/Dot_Net/Q_21000096.html" target=_blank&gt;this problem &lt;/A&gt;all afternoon. If anyone out there can come up with an answer, please post a reply on &lt;A href="http://www.experts-exchange.com" target=_blank&gt;experts-exchange&lt;/A&gt;!!&lt;/P&gt;
&lt;P&gt;[UPDATE] : Just added &lt;A href="http://www.michaelfalconer.co.uk/archive/2004/05/18/153.aspx"&gt;this post&lt;/A&gt; with a possible solution...&lt;/P&gt;&lt;img src ="http://www.michaelfalconer.co.uk/aggbug/159.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Michael D. Falconer</dc:creator><title>Filtering a DataView based on the value of a child record</title><link>http://www.michaelfalconer.co.uk/archive/2004/05/20/156.aspx</link><pubDate>Thu, 20 May 2004 13:29:00 GMT</pubDate><guid>http://www.michaelfalconer.co.uk/archive/2004/05/20/156.aspx</guid><description>&lt;P&gt;I've been developing a Windows Form application&amp;nbsp;in VB.NET, and came across an interesting puzzle when trying to filter the contents of a ListBox based on a value in a child record.&lt;/P&gt;
&lt;P&gt;To explain a bit more, I have a DataSet that contains a table with records of courses and a&amp;nbsp;related table of qualifications. A course can have more than one qualification. I have a DataView based on the course table, and wanted to filter it based on a selected qualification. The RowFilter property of the DataView allows you to select a child row using Child.Row or Child(Relationship).Row in the expression. But to quote the documentation: 'because child relationships may return multiple rows, you must include the reference to the child column in an aggregate function.'. I hoped that I could therefore do something like:&lt;/P&gt;
&lt;P&gt;Count(Child.qualification='Masters')&amp;gt;0&lt;/P&gt;
&lt;P&gt;Sadly, no. This simlpy returns the following error:&lt;/P&gt;
&lt;P&gt;"Syntax error in aggregate argument: Expecting a single column argument with possible 'Child' qualifier."&lt;/P&gt;
&lt;P&gt;So, it appeared that you can't apply a filter to a Child element in the filter expression. My solution to the problem was to add a new boolean column to the course DataTable, and then update the value of it depending on the selected value using an XPath query. It does mean that you have to reset the values of the column each tmie the filter value is changed, but for this application that approach appears to work fine, without any major performance penalties.&lt;/P&gt;
&lt;P&gt;Hopefully, though, this will be something that's looked at in a future version of .net...&lt;/P&gt;&lt;img src ="http://www.michaelfalconer.co.uk/aggbug/156.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Michael D. Falconer</dc:creator><title>Visual Studio 2003 dropped form items</title><link>http://www.michaelfalconer.co.uk/archive/2004/05/12/150.aspx</link><pubDate>Wed, 12 May 2004 16:40:00 GMT</pubDate><guid>http://www.michaelfalconer.co.uk/archive/2004/05/12/150.aspx</guid><description>&lt;P&gt;So there I was, working on some Windows Forms in VS 2003. Suddenly, like a bolt from the blue, VS decides that it's going to drop all the form elements from a panel within a panel that included a splitter and the custom datagrid I'd spent all morning working on. How happy was I...&lt;/P&gt;
&lt;P&gt;Thankfully all the code still existed, so I just had to manually add the objects to the form at the end of the VS generated code.&lt;/P&gt;
&lt;P&gt;Makes your heart jump into your throat when that sort of stuff happens...&lt;/P&gt;&lt;img src ="http://www.michaelfalconer.co.uk/aggbug/150.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>