Almost every project I create in Visual Studio, I invariably have to add System.Configuration to the references for that project. As soon as I want to do much with app.config, I need to use something in System.Configuration. Well, rather than continue to add that reference to future projects, I’ve decided to change the project template so I don’t have to. The following is a description of how to do that. The project templates are located at C:\Program Files\Microsoft Visual Studio 10.0\Common7\ide\ProjectTemplates\ (replace "Program Files" with "Program Files (x86)" if you’re using a 64-bit version of Windows). For this example I’m … Continue reading Modify VS 2010 Template to Reference System.Configuration
I was debugging what I thought was a strange exception the other day. The exception was an InvalidOperationException and the message was “Object is currently in use elsewhere”. Unless you’re familiar with this exception, it really doesn’t offer much as to why the exception is occurring. There seems to be several stale threads on the Web about this issue, so I’d thought I’d post about it. As it turns out it had to do with some code that was PInvoking some native graphics functions and the interaction with the WinForm that was hosting the drawing surface was to blame. What’s … Continue reading "Object is currently in use elsewhere" error.
The TextBox class supports undoing the last action–inherited from TextBoxBase. Normally the user does this by pressing the undo key (Ctrl-Z if your keyboard doesn’t have a specific Undo key) or by selecting “Undo” from the context menu. The last action can also be undone programmatically by calling TextBoxBase.Undo() (after calling CanUndo() to see if Undo() will work). Changing the text in a TextBox so that the change can be undone is not so obvious though. Changing the Text property or the SelectedText property is not undo-able. .NET 2.0 added TextBox.Paste(String) (not inherited from TextBoxBase, it’s inherent to TextBox) that … Continue reading Changing TextBox Text as an Undo-able Action
I was throwing together some demo code that involved creating a control at runtime, that I wanted docked in a certain way on the parent Form. I could have pre-created the control in the designer and hidden it–to be made visible instead of creating it–but, that’s not the situation I was in. Simply creating the control and setting the Dock property (in this case to DockStyle.Fill) isn’t enough to dock it properly if there are any existing docked controls. If you’ve ever created a control and runtime and attempted to change the Dock property, you’ve probably noticed it doesn’t dock the way … Continue reading Docking With Run-Time-Created Controls