How to register a global hotkey for your application in C#

How to register a global hotkey for your application in C#

Register a hotkey for your application that can be triggered even if your form is minimized and does not have focus. More »

Visual Studio 2013

Visual Studio 2013

Visual Studio 2013 is now available. Make sure to upgrade to the latest version of Visual Studio. More »

How to download a file in C# (progressbar and download speed)

How to download a file in C# (progressbar and download speed)

Learn how to download files in C# while displaying the percentage and the download speed. More »

UDP hole punching implementation in C#

UDP hole punching implementation in C#

Learn how to implement UDP hole punching so you can make your clients life a lot easier by not forcing them to open ports on their end. More »

 

Send email using C#

Sending emails using C# is fairly easy. You require the host or the IP of an SMTP server that the email will be send through and a username/password if that server requires credentials.

For this example I will be providing a way to send emails using the Gmail SMTP server.

Share on FacebookTweet about this on TwitterShare on Google+Share on StumbleUponShare on LinkedInShare on RedditPin on PinterestShare on TumblrDigg thisPrint this pageEmail this to someone

Move borderless form using mouse

Forms that have their FormBorderStyle set to None cannot be moved using the mouse by default. In order to achieve this functionally we can use the ReleaseCapture and SendMessage Windows functions.

Simply place the following code in your borderless form class.

Don’t forget to assign your form’s MouseDown event to the form1_MouseDown method !

Keep in mind that you could handle another control’s MouseDown event (a good example would be a MenuStrip control) instead of the form’s one, making your form moveable only when the user clicks and drags that specific control.

Share on FacebookTweet about this on TwitterShare on Google+Share on StumbleUponShare on LinkedInShare on RedditPin on PinterestShare on TumblrDigg thisPrint this pageEmail this to someone

Minimize a form without border using the taskbar

By default borderless forms are not designed to be minimized, which means when the form’s FormBorderStyle property is set to None you will notice that clicking the application box in taskbar does not minimize the form.

This can be fixed by overriding CreateParams and adding the WS_MINIMIZEBOX style to the Window and CS_DBLCLKS to the Window class styles.

Simply place the following code inside your Form’s class which you want to enable the minimize functionality using the taskbar.

Share on FacebookTweet about this on TwitterShare on Google+Share on StumbleUponShare on LinkedInShare on RedditPin on PinterestShare on TumblrDigg thisPrint this pageEmail this to someone

Enable Double Buffering for Controls to reduce flickering

Some controls do not have their DoubleBuffered property listed in the properties window. For this reason it requires an additional step to enable double buffering for specific controls such as a ListView control.

If you wish to enable the DoubleBuffed property of a control simply use the method provided below.

Example

Share on FacebookTweet about this on TwitterShare on Google+Share on StumbleUponShare on LinkedInShare on RedditPin on PinterestShare on TumblrDigg thisPrint this pageEmail this to someone

Clear download list in Firefox

Firefox by default never clears the download list automatically. If you wish change the way Firefox works so it will clear the downloads either automatically upon download complete or when Firefox closes following the next steps.

  1. Type about:config in your address bar
  2. Search for browser.download.manager.retention
  3. Set its value to either 0, 1 or 2 depending on how you Firefox to behave

0 indicates that the download should be removed upon completion.
1 indicates that completed and canceled downloads should be removed when Firefox closes.
2 indicates that downloads should never be removed automatically. (default)

Share on FacebookTweet about this on TwitterShare on Google+Share on StumbleUponShare on LinkedInShare on RedditPin on PinterestShare on TumblrDigg thisPrint this pageEmail this to someone