navigation
 Thursday, December 17, 2009
If icon overlays (for TortoiseSVN, TortoiseCVS, DropBox, Mozy, etc) aren't being displayed in Windows Explorer, read on to find out why and what you can do to show them.
posted on December 17, 2009  #    by Brad Divine  Comments [0]
 Tuesday, June 09, 2009
If you are using conditional directives in your C# code, you know that you can't set a breakpoint on any code within the directives using Visual Studio. Thankfully, you can add a breakpoint programmatically:

#if MYSYMBOL
#if DEBUG
System.Diagnostics.Debugger.Break();
#endif
DoSomethingForMySymbol();
#else
#if DEBUG
System.Diagnostics.Debugger.Break();
#endif
DoSomethingForEverythingElse();
#endif

System.Diagnostics.Debugger.Break() can only be called in Debug mode, so make sure you wrap it in a #if DEBUG check first. Good luck!


posted on June 9, 2009  #    by Brad Divine  Comments [0]
 Friday, June 05, 2009
Here's a handy little tip for those of you using DataGrids or something similar, for instance, the Telerik RadGrid control. If you want to allow the user to double-click on a row to do something (edit the row, for example), implement the CellDoubleClick event handler for the grid and put your code in there. If you do this, then double-clicks in the column header will also fire the event; this can happen if a user clicks the header too quickly while trying to sort. To prevent this, add code to check e.RowIndex. If the user double-clicked on a header, e.RowIndex will = -1.
posted on June 5, 2009  #    by Brad Divine  Comments [0]
 Monday, June 01, 2009
When programming for Windows, you'll sometimes want a container object (a form, a panel, etc.) to handle certain events, such as MouseOver, MouseMove, MouseUp, MouseDown, etc. But what happens if you have other controls in the container? You could write event handlers for each of those controls, but that seems like a lot of duplication of effort. One solution to this problem is to send the child control's events that you'd like to capture to the event handlers of the container
 | 
posted on June 1, 2009  #    by Brad Divine  Comments [0]
 Friday, May 29, 2009
If you're like me, you sometimes use AJAX controls in your web page. And, if you're like me, you find that when they fail to behave as expected, you as the user are not notified as to the reason. Instead, the page will just stare back at you blankly: no spinning globe, no twirling fox to indicate that it is processing your request. Of course, what's really happened is that your AJAX request caused an unhandled exception on the server and the request was canceled. If you're like me (and if you've read this far I am forced to conclude we must be twins) you'd like some visibility into that unhandled exception.

There is a quick and easy solution! Simply add the following to your ASPX code-behind and during your debugging session Visual Studio will report the exception being thrown, complete with the exception message and stack trace. If you'd like to report the exception to the user, you would wrap the inner call in a try/catch block and update your UI (or Logging) accordingly.

Good luck!

C#
protected override void RaisePostBackEvent(IPostBackEventHandler source, String eventArgument)
{
    base.RaisePostBackEvent(source, eventArgument);
}

VB.NET
Protected Overrides Sub RaisePostBackEvent(ByVal source As IPostBackEventHandler, ByVal eventArgument As String)
    MyBase.RaisePostBackEvent(source, eventArgument)
End Sub

posted on May 29, 2009  #    by Brad Divine  Comments [0]
 Saturday, May 02, 2009
How to delete TortoiseSVN Username/password cache for specific repositories in three easy steps!
posted on May 2, 2009  #    by Brad Divine  Comments [0]