<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-2485879060866698233</atom:id><lastBuildDate>Fri, 13 Jul 2012 14:28:36 +0000</lastBuildDate><category>Visual Studio</category><category>DataGridView</category><category>PropertyGrid</category><category>gdi+</category><category>CollectionEditor</category><category>Microsoft</category><category>MySQL</category><category>workaround</category><category>patterns</category><category>security</category><category>ActiveRecord</category><category>user controls</category><category>dispose</category><category>SQL Server</category><category>gdi</category><category>Windows Services</category><category>Oracle</category><category>infragistics</category><category>chart</category><category>ultrachart</category><category>ADO.NET</category><category>c#</category><category>interned strings</category><category>comparison</category><category>tips</category><category>optimization</category><category>GC</category><category>performance</category><category>Firebird</category><category>win32 api</category><category>strings</category><category>review</category><category>DirectX</category><category>WinForms</category><category>Silverlight</category><category>Good to know</category><title>Dot Net Facts</title><description>Programming, .NET Framework, Visual Studio, C#, OOP Tips, Infragistics, NetAdvange, GDI+ rendering, performance, optimizations.</description><link>http://dotnetfacts.blogspot.com/</link><managingEditor>noreply@blogger.com (DotNetFacts)</managingEditor><generator>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/DotNetFacts" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="dotnetfacts" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-1737696202093041454</guid><pubDate>Fri, 19 Feb 2010 20:03:00 +0000</pubDate><atom:updated>2010-09-30T10:27:06.231+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tips</category><category domain="http://www.blogger.com/atom/ns#">DataGridView</category><category domain="http://www.blogger.com/atom/ns#">c#</category><title>Hide specific cell values in DataGridView</title><atom:summary>In this post I will show you how to hide a specific cell value in a DataGridView control.



Get a DataGridView and some data for it

Let's suppose we have this pre-populated DataGridView (it really doesn't matter what is the data source):




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "4234529990";
google_ad_width = 300;
google_ad_height = 250;
//--&gt;

</atom:summary><link>http://dotnetfacts.blogspot.com/2010/02/hide-specific-cell-values-in.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_m9VtXqkOxi8/S37vZzQ-pLI/AAAAAAAAAKE/T_66lmEe2_0/s72-c/hide-specific-cell-values-datagridview.jpg" height="72" width="72" /><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-3611651882158654131</guid><pubDate>Tue, 12 Jan 2010 17:26:00 +0000</pubDate><atom:updated>2010-01-14T13:01:49.424+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">workaround</category><category domain="http://www.blogger.com/atom/ns#">Good to know</category><title>Dot NET 2.0 Generics and Windows 98</title><atom:summary>One of my customers asked me to write a .NET application which is capable to run on old Windows 98 machines. This request came to me last year but don't ask me about the reasons of doing such a thing :).




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "4234529990";
google_ad_width = 300;
google_ad_height = 250;
//--&gt;












Only .NET 2.0 is running </atom:summary><link>http://dotnetfacts.blogspot.com/2010/01/dot-net-20-generics-and-windows-98.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_m9VtXqkOxi8/S04Ivy6L_NI/AAAAAAAAAJ8/lyDnGjxK0-Q/s72-c/System-Bad-Image-Format-Exception.jpg" height="72" width="72" /><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-4335267284719136313</guid><pubDate>Fri, 30 Oct 2009 18:37:00 +0000</pubDate><atom:updated>2009-10-30T21:01:31.026+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Good to know</category><category domain="http://www.blogger.com/atom/ns#">DirectX</category><title>DirectX 11 for Windows 7 and Vista SP2</title><atom:summary>DirectX® 11, the next generation of graphics technology, arrives with Windows 7. This is great news for players because the game developers will utilize new features to create rich worlds, realistic characters, and more fluid gameplay.




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "4234529990";
google_ad_width = 300;
google_ad_height = 250;
//--&gt;





</atom:summary><link>http://dotnetfacts.blogspot.com/2009/10/directx-11-for-windows-7-and-vista-sp2.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_m9VtXqkOxi8/Sus3wlGV98I/AAAAAAAAAJM/vbxUYay2HvM/s72-c/directx_11.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-5274614543189213582</guid><pubDate>Thu, 22 Oct 2009 12:30:00 +0000</pubDate><atom:updated>2009-10-26T19:35:49.701+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">WinForms</category><category domain="http://www.blogger.com/atom/ns#">tips</category><category domain="http://www.blogger.com/atom/ns#">DataGridView</category><category domain="http://www.blogger.com/atom/ns#">c#</category><title>The BindingSource-Sort property</title><atom:summary>In this post I present an interesting conclusion about sorting a data source using the BindingSort.Sort property.



The test environment

Here is the test application I use for this presentation. Briefly, it contains a DataSet with a Test DataTable, which is the DataSource I will try so sort. Then I bind this DataSource to a ComboBox, a ListView and a DataGridView control.




&lt;!--
</atom:summary><link>http://dotnetfacts.blogspot.com/2009/10/bindingsource-sort-property.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_m9VtXqkOxi8/SuBWAHBNtyI/AAAAAAAAAIs/bWB68bB0Xk4/s72-c/BindingSource-Sort-DataSource.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-5233502514643606010</guid><pubDate>Mon, 19 Oct 2009 19:03:00 +0000</pubDate><atom:updated>2009-10-19T22:25:19.980+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">patterns</category><title>The MVP pattern</title><atom:summary>The MVP stands for Model-View-Presenter and it is a user interface (UI) design pattern engineered to facilitate automated unit testing and improve the separation between the UI (rendering stuff) and the business logic.


  The Model defines the data to be displayed in the user interface (UI)
  The View is an interface that displays data (the model) and routes user commands to the presenter to act</atom:summary><link>http://dotnetfacts.blogspot.com/2009/10/mvp-pattern.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_m9VtXqkOxi8/Sty6687QJOI/AAAAAAAAAIc/DLlrbv1vwNg/s72-c/mvp-passive-view.jpg" height="72" width="72" /><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-3944294236423328663</guid><pubDate>Sat, 12 Sep 2009 19:42:00 +0000</pubDate><atom:updated>2009-10-26T19:36:33.314+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ActiveRecord</category><category domain="http://www.blogger.com/atom/ns#">Firebird</category><category domain="http://www.blogger.com/atom/ns#">tips</category><category domain="http://www.blogger.com/atom/ns#">c#</category><title>Create a Firebird database from script file with ActiveRecord</title><atom:summary>Once I needed to create a Firebird database from a SQL script file using the ActiveRecord component from Castle Project. First problem was to convince ActiveRecord to execute a non-query command and the second, to execute the script file using the Firebird embedded engine.




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "4234529990";
google_ad_width = </atom:summary><link>http://dotnetfacts.blogspot.com/2009/09/create-firebird-database-from-script.html</link><author>noreply@blogger.com (DotNetFacts)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-4566051488065242294</guid><pubDate>Sat, 05 Sep 2009 06:50:00 +0000</pubDate><atom:updated>2009-10-26T19:34:37.214+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">WinForms</category><category domain="http://www.blogger.com/atom/ns#">tips</category><category domain="http://www.blogger.com/atom/ns#">DataGridView</category><category domain="http://www.blogger.com/atom/ns#">c#</category><title>Set focus on DataGridView cell</title><atom:summary>Setting the focus on a DataGridView cell is a little bit tricky, so this is how you can do it:




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "4234529990";
google_ad_width = 300;
google_ad_height = 250;
//--&gt;







Set focus on a DataGridView cell

This code sample will set the editing cursor right in the first cell of the current row in DataGridView. </atom:summary><link>http://dotnetfacts.blogspot.com/2009/09/set-focus-on-datagridview-cell.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_m9VtXqkOxi8/SqIPQGMT7UI/AAAAAAAAAIU/Zaj8z50xQes/s72-c/DataGridView-auto-select.jpg" height="72" width="72" /><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-5878862401141801460</guid><pubDate>Sat, 02 May 2009 10:59:00 +0000</pubDate><atom:updated>2009-05-02T14:35:21.544+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADO.NET</category><category domain="http://www.blogger.com/atom/ns#">Firebird</category><category domain="http://www.blogger.com/atom/ns#">tips</category><title>Create a new embedded Firebird database</title><atom:summary>This post will show you how to create a new database file with the embedded Firebird from a C# .NET application.




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "4234529990";
google_ad_width = 300;
google_ad_height = 250;
//--&gt;







Using ADO.NET Provider earlier than 1.7

For the ADO.NET Provider 1.6 it was necessary to specify username and password (</atom:summary><link>http://dotnetfacts.blogspot.com/2009/05/create-new-embedded-firebird-database.html</link><author>noreply@blogger.com (DotNetFacts)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-4705145487271516190</guid><pubDate>Fri, 01 May 2009 17:37:00 +0000</pubDate><atom:updated>2009-05-02T13:54:17.085+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tips</category><category domain="http://www.blogger.com/atom/ns#">c#</category><title>Determine Debug Mode in .NET</title><atom:summary>If you will ever need to execute different code paths for the Debug mode and the Release mode, this is the best way to do it.



You may also find this article very useful: Identifying the Run-Time and the Design Mode. It refers to UserControl's and Form's design mode.




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "4234529990";
google_ad_width = 300;
</atom:summary><link>http://dotnetfacts.blogspot.com/2009/05/determine-debug-mode-in-net.html</link><author>noreply@blogger.com (DotNetFacts)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-8371197518506121467</guid><pubDate>Fri, 01 May 2009 14:44:00 +0000</pubDate><atom:updated>2009-05-02T17:40:18.129+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">tips</category><category domain="http://www.blogger.com/atom/ns#">c#</category><title>Extract Assembly version</title><atom:summary>Here is how to proceed in order to extract the version number from an .NET assembly file.




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "4234529990";
google_ad_width = 300;
google_ad_height = 250;
//--&gt;







Extract version of an assembly file

This example shows you how to extract the assembly version from an assembly which name we know:

C# .NET

&lt;</atom:summary><link>http://dotnetfacts.blogspot.com/2009/05/extract-assembly-version.html</link><author>noreply@blogger.com (DotNetFacts)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-7377814001531384844</guid><pubDate>Mon, 27 Apr 2009 14:45:00 +0000</pubDate><atom:updated>2009-04-28T12:54:26.631+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ActiveRecord</category><category domain="http://www.blogger.com/atom/ns#">Firebird</category><category domain="http://www.blogger.com/atom/ns#">c#</category><title>ActiveRecord, Firebird and Guid Primary Keys</title><atom:summary>I like to use the Guid values as Primary Keys, because I do a lot of data synchronization and sometimes I need to know the ID value before saving the record into the database. Here is a good article about using the Guid as Primary Key.

ActiveRecord

ActiveRecord is part of the Castle Project and a implementation of the ActiveRecord pattern for .NET. The ActiveRecord pattern consists on instance </atom:summary><link>http://dotnetfacts.blogspot.com/2009/04/activerecord-firebird-and-guid-primary.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_m9VtXqkOxi8/Sfa9ueFDGyI/AAAAAAAAAH0/WClY4VgFJXM/s72-c/tbl_user.jpg" height="72" width="72" /><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-336175772954565763</guid><pubDate>Sun, 01 Feb 2009 11:50:00 +0000</pubDate><atom:updated>2009-05-02T17:40:34.701+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Silverlight</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><title>Microsoft Silverlight 3 features</title><atom:summary>According to Silverlight Development Team Leader, Scott Guthrie, the next Silverlight release is planned for 2009. The new Silverlight 3 will bring in a lot of new features and cool stuff. Here is a small list of the most important new features.




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "4234529990";
google_ad_width = 300;
google_ad_height = 250;
/</atom:summary><link>http://dotnetfacts.blogspot.com/2009/02/microsoft-silverlight-3-features.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_m9VtXqkOxi8/SYWOBKBPWAI/AAAAAAAAAHk/ArDfahqr324/s72-c/silverlight3Beta.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-3618739260396406594</guid><pubDate>Thu, 29 Jan 2009 18:39:00 +0000</pubDate><atom:updated>2009-01-29T21:14:05.556+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">MySQL</category><category domain="http://www.blogger.com/atom/ns#">ADO.NET</category><category domain="http://www.blogger.com/atom/ns#">Oracle</category><category domain="http://www.blogger.com/atom/ns#">SQL Server</category><title>The ADO.NET command parameters</title><atom:summary>Building SQL commands based on parameters is a good way to block SQL injection vulnerabilities.  This is a short article about how to use the ADO.NET parameters in different database management systems, like: Microsoft SQL Server, MySQL and Oracle. 




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "4234529990";
google_ad_width = 300;
google_ad_height = </atom:summary><link>http://dotnetfacts.blogspot.com/2009/01/adonet-command-parameters.html</link><author>noreply@blogger.com (DotNetFacts)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-6434222134977842431</guid><pubDate>Tue, 13 Jan 2009 18:36:00 +0000</pubDate><atom:updated>2009-05-02T17:40:56.825+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">WinForms</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">chart</category><title>Free Microsoft Chart Control for .NET 3.5 and .NET 4.0</title><atom:summary>Finally, Microsoft decided to provide a charting component for .NET Framework! It is called Microsoft Chart Control and it is based on Dundas Chart Control version 5.5. The Microsoft Chart Control is available as separate installation for .NET Framework 3.5 and will be included in .NET Framework 4.0.




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "</atom:summary><link>http://dotnetfacts.blogspot.com/2009/01/free-microsoft-chart-control-for-net-35.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_m9VtXqkOxi8/SWzf_0IRx5I/AAAAAAAAAG0/INA4kgB6EsQ/s72-c/microsoft_chart_control.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-215047043554959217</guid><pubDate>Sat, 10 Jan 2009 17:50:00 +0000</pubDate><atom:updated>2009-05-02T00:05:16.385+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">user controls</category><category domain="http://www.blogger.com/atom/ns#">WinForms</category><category domain="http://www.blogger.com/atom/ns#">tips</category><category domain="http://www.blogger.com/atom/ns#">c#</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio</category><title>Identifying the Run-Time and the Design Mode</title><atom:summary>Some logic (like connecting to a database) is not meant to be called when the application is in design mode.  Opening a Form, or a UserControl, in the Visual Studio Designer (or other IDE design module), which is trying to connect to a database in its constructor or in its Load or Shown event handler will end up with a Designer exception. Handling a database connection is a run-time job only! </atom:summary><link>http://dotnetfacts.blogspot.com/2009/01/identifying-run-time-and-design-mode.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_m9VtXqkOxi8/SWywqycVIrI/AAAAAAAAAGs/51MQ3xnRyrE/s72-c/design_mode_run_time.jpg" height="72" width="72" /><thr:total>12</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-4697652469190734639</guid><pubDate>Mon, 15 Dec 2008 20:38:00 +0000</pubDate><atom:updated>2009-05-04T14:01:54.829+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">gdi+</category><category domain="http://www.blogger.com/atom/ns#">WinForms</category><category domain="http://www.blogger.com/atom/ns#">tips</category><category domain="http://www.blogger.com/atom/ns#">c#</category><title>How to: Blend colors with GDI+</title><atom:summary>Once I needed to build a heat map chart usign different colors spread on a given numeric interval. Here is the GDI+ code I used to create all the intermediate colors between the start color and the end color.




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "4234529990";
google_ad_width = 300;
google_ad_height = 250;
//--&gt;







Blend colors with GDI+

</atom:summary><link>http://dotnetfacts.blogspot.com/2008/12/how-to-blend-colors-with-gdi.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_m9VtXqkOxi8/SUekLEbIN2I/AAAAAAAAAGM/3uM9Df2SBw4/s72-c/Blend_Colors.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-6176621415695469640</guid><pubDate>Mon, 24 Nov 2008 19:10:00 +0000</pubDate><atom:updated>2009-05-02T17:39:51.958+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">MySQL</category><category domain="http://www.blogger.com/atom/ns#">ADO.NET</category><title>Connect to a MySQL 5.0 database with ADO.NET</title><atom:summary>If you want to develop applications with the .NET Framework having a MySQL database as a data source you may want to try the MySQL Connector/NET 5.2. The MySQL Connector/NET is a fully managed ADO.NET component wich provides specific implementation for all ADO.NET classes. You can download the MySQL Connector/NET 5.2 component from the MySQL web site.




&lt;!--
google_ad_client = "pub-</atom:summary><link>http://dotnetfacts.blogspot.com/2008/11/connect-to-mysql-50-database-with.html</link><author>noreply@blogger.com (DotNetFacts)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-1639402067435486128</guid><pubDate>Fri, 10 Oct 2008 12:46:00 +0000</pubDate><atom:updated>2009-05-02T17:42:01.027+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Visual Studio</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><title>Visual Studio 2010 and .NET Framework 4.0</title><atom:summary>On Sept. 29, 2008, Microsoft announced the next generations of Visual Studio and .NET Framework. Visual Studio 2010 and .NET 4.0 are meant to simplify application’s life-cycle management by make it easier for all contributors of the software team (core programmers, UI designers, testers and project managers), to participate throughout the life-cycle.




&lt;!--
google_ad_client = "pub-</atom:summary><link>http://dotnetfacts.blogspot.com/2008/10/visual-studio-2010-and-net-framework-40.html</link><author>noreply@blogger.com (DotNetFacts)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-3980896750775205746</guid><pubDate>Fri, 19 Sep 2008 19:32:00 +0000</pubDate><atom:updated>2009-05-04T14:03:55.000+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Windows Services</category><category domain="http://www.blogger.com/atom/ns#">tips</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio</category><title>How to: Debug Windows Service in Visual Studio .NET</title><atom:summary>Debugging a Windows Service Application is a very unpleasant task because such application doesn’t run from within Visual Studio .NET. A Windows Service Application runs in the Services Control Manager context.




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "4234529990";
google_ad_width = 300;
google_ad_height = 250;
//--&gt;







In order to debug a </atom:summary><link>http://dotnetfacts.blogspot.com/2008/09/how-to-debug-windows-service-in-visual.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_m9VtXqkOxi8/SNQDP4o6UVI/AAAAAAAAAEM/fb3q2CrgMBM/s72-c/Attach+a+proces+to+a+Windows+Service+-+menu.jpg" height="72" width="72" /><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-7675431727560062955</guid><pubDate>Mon, 09 Jun 2008 09:10:00 +0000</pubDate><atom:updated>2009-01-16T09:54:12.237+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">user controls</category><category domain="http://www.blogger.com/atom/ns#">WinForms</category><category domain="http://www.blogger.com/atom/ns#">tips</category><category domain="http://www.blogger.com/atom/ns#">CollectionEditor</category><category domain="http://www.blogger.com/atom/ns#">PropertyGrid</category><title>How to: Set the PropertyGrid as Read-Only</title><atom:summary>The default PropertyGrid control provided by the WinForms collection doesn’t support a read-only functionality. Setting the PropertyGrid as read-only might be useful if you want to allow your users to fully inspect a rich property object exposed by the PropertyGrid without the possibility to change something. 






&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
</atom:summary><link>http://dotnetfacts.blogspot.com/2008/06/how-to-set-propertygrid-as-read-only.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_m9VtXqkOxi8/SE0ZmGdLCVI/AAAAAAAAAD8/88A677tJ0VQ/s72-c/PropertyGrid.jpg" height="72" width="72" /><thr:total>10</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-1561618062203800852</guid><pubDate>Wed, 28 May 2008 16:02:00 +0000</pubDate><atom:updated>2009-01-16T09:48:17.185+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">user controls</category><category domain="http://www.blogger.com/atom/ns#">WinForms</category><category domain="http://www.blogger.com/atom/ns#">tips</category><category domain="http://www.blogger.com/atom/ns#">CollectionEditor</category><category domain="http://www.blogger.com/atom/ns#">PropertyGrid</category><title>How to: Take control over the Collection Editor's PropertyGrid</title><atom:summary>The PropertyGrid control is a very useful tool if you want to update object attributes at run-time in a elegant way. The PropertyGrid provides some useful events to let you know what is going on. The problem occures for the collection properties when the Collection Editor form is shown. This form also provides a PropertyGrid control to edit any item from the current collection but we don't have </atom:summary><link>http://dotnetfacts.blogspot.com/2008/05/how-to-take-control-over-collection.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_m9VtXqkOxi8/SD2F0z2oHDI/AAAAAAAAAD0/P2DTNc4DUAU/s72-c/PropertyGrid.jpg" height="72" width="72" /><thr:total>15</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-968198772304444735</guid><pubDate>Thu, 22 May 2008 06:21:00 +0000</pubDate><atom:updated>2009-05-04T14:00:16.041+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">user controls</category><category domain="http://www.blogger.com/atom/ns#">WinForms</category><category domain="http://www.blogger.com/atom/ns#">workaround</category><category domain="http://www.blogger.com/atom/ns#">Visual Studio</category><title>Workaround: The SplitContainer may crash your VS2008 Designer</title><atom:summary>If use the default Split Container to build a Windows Form or create a new user control, and set some properties of that Split Container at design time using Visual Studio 2008, you may end up with a broken form or user control. I got that error using the Visual Studio 2008 - Professional Edition.




&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "</atom:summary><link>http://dotnetfacts.blogspot.com/2008/05/workaround-splitcontainer-may-crash.html</link><author>noreply@blogger.com (DotNetFacts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_m9VtXqkOxi8/SDUUlz2oHBI/AAAAAAAAADk/Zuy3177x2Zw/s72-c/VS2008+problem.jpg" height="72" width="72" /><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-1891374346060635798</guid><pubDate>Tue, 20 May 2008 10:38:00 +0000</pubDate><atom:updated>2009-05-01T21:11:08.410+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADO.NET</category><category domain="http://www.blogger.com/atom/ns#">tips</category><title>How to: Retrieve database schema information using ADO.NET</title><atom:summary>Sometimes we need to know what is the internal structure of a database in addition to its data. This might turn very useful when the database structure is dynamic. This information is called Database Metadata or Database Schema.



&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_468x60 */
google_ad_slot = "8741549524";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;




Read database </atom:summary><link>http://dotnetfacts.blogspot.com/2008/05/how-to-retrieve-database-schema.html</link><author>noreply@blogger.com (DotNetFacts)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-6816248979499725612</guid><pubDate>Sun, 18 May 2008 11:23:00 +0000</pubDate><atom:updated>2009-05-02T17:43:18.163+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">gdi+</category><category domain="http://www.blogger.com/atom/ns#">WinForms</category><category domain="http://www.blogger.com/atom/ns#">tips</category><title>Client coordinates and Screen coordinates</title><atom:summary>The .NET Framework can provide the mouse coordinates using the client coordinates system or the screen coordinates system. In some mouse-based scenarios we need exactly to know which coordinates system is used in order to use the correct offset.






&lt;!--
google_ad_client = "pub-7646043077243506";
/* TXT_IMG_300x250 */
google_ad_slot = "4234529990";
google_ad_width = 300;
google_ad_height = 250;</atom:summary><link>http://dotnetfacts.blogspot.com/2008/05/client-coordinates-and-screen.html</link><author>noreply@blogger.com (DotNetFacts)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-2485879060866698233.post-3579002788070496543</guid><pubDate>Sat, 03 May 2008 14:27:00 +0000</pubDate><atom:updated>2009-05-02T17:43:47.506+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">performance</category><category domain="http://www.blogger.com/atom/ns#">GC</category><category domain="http://www.blogger.com/atom/ns#">dispose</category><category domain="http://www.blogger.com/atom/ns#">tips</category><category domain="http://www.blogger.com/atom/ns#">optimization</category><title>How the Garbage Collector works - Part 2</title><atom:summary>How the Garbage Collector works - Part 1



Now let’s go deeper to understand how the Garbage Collector (GC) is actually collecting the dead objects and how this may affect the performance.

Collecting the Garbage

The GC is able to collect the garbage in two ways: full collections (searching the entire managed heap for dead objects) and partial collections (searching only a single generation </atom:summary><link>http://dotnetfacts.blogspot.com/2008/05/how-garbage-collector-works-part-2.html</link><author>noreply@blogger.com (DotNetFacts)</author><thr:total>0</thr:total></item></channel></rss>
