Yesterday while writing the code of an add-in for a new article I was calling Form.ShowDialog() without passing the owner window and I noticed that clicking the Visual Studio button on the Windows 7 taskbar, I got the modal form hidden behind the Visual Studio window (I had to click Alt+Tab to get the it back). Today I have been unable to reproduce this problem on another computer with Windows 7, but the other computer still reproduces it. Anyway, I already knew how to fix this problem for good, so I have documented it in this new article:
Almost three years ago I wrote this post about Visual Studio version numbers. At that time, Visual Studio 2010 was at Community Technology Preview (CTP) state, not even beta, and some values changed in the Release To Manufacturing (RTM) release. Today I have written this new article for the MZ-Tools Articles Series with updated information and some fix:
As you can see, version numbers are inconsistent across Visual Studio versions. You may have noticed that even the .NET Framework version has become inconsistent: previously you had .NET Framework 1.0, 1.1, 2.0, 3.0 and 3.5, and the new version is officially named .NET Framework 4, not .NET Framework 4.0.
This afternoon I was writing an add-in for a new MZ-Tools series article and while I thought that EnvDTE.Window.Kind returned a Guid to identify the kind of a toolwindow, it actually returns the literal “Tool” for all toolwindows.
and I noticed that the information was incorrect and that in Visual Studio .NET 2003, 2005, 2008 and 2010 (I am unable to test Visual Studio .NET 2002 on Windows 7 64-bit), EnvDTE.Window.Kind doesn’t return a Guid but “Tool” for toolwindows and “Document” for document windows. It is the EnvDTE.Window.ObjectKind property which returns such Guid. So, I have updated the article to fix the misleading information.
Creating toolwindows in Visual Studio .NET 2002/2003 was incredibly difficult because you needed an ActiveX “shim” control to host a .NET (managed) usercontrol. Visual Studio 2005 simplified this a lot using the CreateToolWindow2 function, that doesn’t need the shim control. I have updated completely this article of January 2006 to remove “support” for VS.NET 2002/2003 and instead include a full sample code for VS 2005 and higher (in C# / VB.NET). Don’t miss the related articles at the end of it (I will add a few ones in the next weeks for stuff related to toolwindows):
This problem was reported some weeks ago in the MSDN VSX forum. I was not aware of it before that post so I have documented it today (and fortunately the workaround is easy):