inding what you need in the Microsoft® Visual Studio® .NET documentation, which has over 45,000 topics, can be a daunting task. The Doc Detective is here to help, utilizing his investigative skills to probe the depths of the documentation.
Can't find what you're looking for? Just askif it's in there, I'll find it for you; if it isn't, I'll let you know that as well (and tell you where else you might go to find it).
Have a question for the Doc? Send your questions for future columns to me at email@example.com.
Dear Doc Detective,
I'm working on a MDI application that could potentially display many (several dozen) child windows. I need to provide a menu that will allow users to switch between child windows, but adding each form as a menu item is a tedious process. I've seen this done in a number of MDI applications and I can't help but think there's an easier way to do thiscan you help?
- Menuless in Minneapolis
You are correct, sir; there is a much easier way to do this for a MDI (Multiple Document Interface) application. What you want is a Window listand the MenuItem object has an MDIList property that allows you to do this in one step.
At design time, you just add a MenuItem, usually under a top-level Window menu, then set the MDIList property to true. At run time, a list of all open child windows will magically appear; if more than nine child windows are open, a "More Windows" item is added that launches a Select Window dialog box.
For an example of how to create a Window list, look for the topic "Creating a Window List for an MDI Form" in the MSDN library. Before you know it, your application will look and act just like the big boysand you don't have to tell your boss how easy it was.
Dear Doc Detective,
I need to create a setup for a C# application for installation onto Windows 98 clients. I used a Visual Studio Setup project to create the setup, but when I try to install on a Windows 98 machine, the installation fails with a message saying that the .NET Framework is required.
How can I combine the .NET Framework and my application together in the setup application so that it automatically detects the .NET Framework, and if not found, installs it first and then my application?
- Framed in Fremont
I have some bad news and some good news. The bad news is that according to the Visual Studio documentation it can't be done. The good news isthe documentation is wrong, at least if you are using Visual Studio 2003.
The recently released Visual Studio .NET Framework Bootstrapper Plug-in makes it possible to deploy the .NET Framework as a part of your Setup project. Once installed, the plug-in modifies the behavior of the Setup project's Bootstrapper property to include the .NET Framework bootstrapper as well as the Windows Installer bootstrapper. The .NET Framework redistributable and the appropriate Language pack are then packaged with your application; a launch condition checks for the correct version of the .NET Framework at install time and if necessary, installs it before installing your application.
To learn more about bootstrapping the .NET Framework, look for the recently updated article "Using Visual Studio .NET 2003 to Redistribute the .NET Framework" in the MSDN online library (you won't find it in the product documentation). You can download the Visual Studio .NET Framework Bootstrapper Plug-in for free from the Microsoft Download center.
Dear Doc Detective,
I've noticed that when I open a Visual Studio command prompt from the Programs menu, it always opens to a directory in my Documents and Settings path. I would prefer for it to navigate to my Visual Studio .NET directory insteadit's a pain to have to change directories every time.
Also, on a different note, I use both Visual Basic 6 and Visual Basic .NET on a regular basis. Is there a way to run VB 6 from a menu in VB .NET?
- Changeling in Cheboygan
As for your first question, this isn't actually Visual Studio-specific, it applies to any Windows program. To change the startup path for a program:
- In the Start menu, right-click on the Visual Studio Command Prompt icon and choose Properties.
- In the Properties dialog box, select the Shortcut tab.
- In the "Start in:" field, enter the path to Visual Studio, i.e. "c:\program files\visual studio.net2003".
- Click OK.
The next time you run the application, the command prompt will default to the path that you entered.
As for the second question, that's an easy one tooyou can add Visual Basic 6 (or any other program) to the Tools menu via the External Tools dialog box. Look for the topic "Launching Tools from Visual Studio" for step-by-step instructions. Personally, I think I'll add Solitaire to my Tools menu....
Doc's Doc Tip of the Day
Meet the neighbors! If you find a topic using the Index or Search windows, don't forget to use the "Sync Contents" button (the double-ended arrow) to see where you are in the table of contents. You can often find lots of useful related topics that way, plus it helps you learn your way around the table of contents.
Found a topic in Help that doesn't help? Tell the Visual Studio documentation team about it at firstname.lastname@example.org.