Visual Studio 2019: How to edit menu - visual-studio

In Visual Studio versions prior to VS2019, .NET framework 4.7.2, if you wanted to design a MenuStrip, you just added the MenuStrip to the form and start typing the ToolStripMenuItems. Like this:
I've recently moved to VS2019, and started to use .NET 5. If I add a Menustrip, I get an empty strip, which seems not easy to edit (I colored the background of the main form, to clearly see the white menu strip)
My question is: how to add ToolStripMenuItems?
I see the little arrow on the right, and I can select Edit Items, but to add a menu that way is quite cumbersome.
If I open an old solution in VS2019, I can edit the menu as I used to do. So it's not VS2019.
If I create a new VS2019 project using an old .NET version, I can't edit the menu, so it's not the .NET version
If I copy paste InitializeComponents from an old project to a new .NET 5.0 VS209 solution I cannot edit the menu
So, how to edit the menu? Is edit items really the proper method to edit your menus from now on?

I believe that the MenuStrip editor experience difference comes down to .NET Core vs .NET Framework.
Edit: .NET 5 = .NET Core vNext
We covered MenuStrips while we were doing WinForms in my C# class and this exact question came up. .NET Framework solutions allow you to use the convenient editor as you have demonstrated. .NET Core solutions do not.
The easiest way I found to build out my MenuStrip items when in .NET Core was to click on the menu strip, then there is a property called "Items" which is a collection. In the properties pane, you can click the three dots button to bring up the Items Collection Editor:
Here you can create new ToolStripMenuItem objects to build your menu.
Possibly related post, others suggesting this is a Core vs Framework issue: MenuStrip not allowing to create menu

This issue has been fixed
in Visual Studio latest release v16.10: 05/25/2021 (https://learn.microsoft.com/en-us/visualstudio/releases/2019/release-notes). I have tested this both in net 5 (current) and net core 3.1 (LTS).
Demo:
https://youtu.be/3s55hWrHx4U

You might have used the option that says "Windows Forms App."
This is wrong. You should use "Windows Forms App(.NET Framework)." This will let you edit the menuStrip control the easy way.

Related

Visual Studio 2019 "Solution Explorer" "View Code" icon C#

Does anyone else have this issue? There does not seem to be a way to edit the Solution Explorer toolbar. One of the icons for Solution Explorer is missing in my C# projects.
I am using Version 16.10.3.
I managed to add this icon to the wrong place, but maybe you can find the right place and update this answer.
I did this by customizing menus:
Clicking Tools | Customize...
Selecting Commands tab
Clicking Add Command...
Selecting View
Selecting View Code, and then OK
It looks like what you have to do is find the right place to add it in the first place.
The options under Commands are Menu bar, Toolbar, and Context menu, none of which seems to fit. I looked around briefly; maybe you can do a more in depth search to find the right spot.
I have several extensions installed. One of these modifies the Solution Explorer behavior for dynamic nodes. It's possible that extension or another is interfering with this icon. Try also disabling your extensions and see if that has an effect.
Folks, I figured out the issue. When you create a .NET Core 5.0 project the VS environment is setup different. I deleted the .NET 5.0 project and recreated as a .NET Standard one with the same name and the icon showed up again.
In fact, the Studio 'solution' version is different although your using the exact same VS application. Problem solved for now.

Visual Studio WinForms Designer: Unable to Move Controls inside of TabPage

I am using a .net core 3.1 WinForms Application.
Moving controls works perfectly fine outside of a tab control, but the moment I place a control inside of a TabPage I am unable to move it again. I can no longer select it from the designer either, and the only way I can is to select it from the properties menu.
After I access it from there, the only thing I can do is resize it, as shown in the image below:
Things I tried:
Made sure the component was not locked.
Pressed escape (as per the solution here)
Rebuilt the solution.
Restarted Visual Studio.
Deleted Visual Studio's AppData folder.
Made sure my Dock property was set to none.
Ensured Visual Studio is on my primary monitor
I really want to use tab pages with my application, but I don't want to keep resizing it everytime I want to move something, so any help is greatly appreciated.
Update: I decided to switch my project from .Net Core to .Net Framework and it now works, so it must have something to do with .Net Core. I'll leave this open if anyone has a solution for .Net Core.

Adding a Menu Button into VS2010 TFS Query Result or Work Item bar

I am trying to add button(s) to the Visual Studio / TFS2010 Work Item query results menu bar and also to the menu bar shown for individual Work Items (see image below) - is that actually customizable & doable and if so, how?
I would take a look at this post:
TFS 2010 - Adding a menu item to the Completed Builds context menu in the Build Explorer
It discusses the steps you need to take to add menu items to context menus.
To answer my own question (as the one by NGM was helpful but it did not directly answer it.) - no it is not possible as the Work Item & Query Windows inside Visual Studio, particularly their toolbars, are not callable as commands in a VS (SDK) sense.
Basically they are merely WinForms controls (well, were for VS2010, I think this has changed to WPF in VS2013 by now) placed inside a WinForms form hosted inside a VS ToolWindow. The toolbars I outlined above cannot be customised via the VS SDK.
This may have changed in VS2012 or VS2013, but for VS2010 there was/is no way to add custom items into the two toolbars I asked for back then.

Visual Studio do not add my component (from a DLL) to the toolbox even if I reference it

As stated in the title, I copied my DLL in Visual Studio project, set it to "content" and "copy always". Added a reference to this DLL and set it to "copy locally".
I successfully managed to instance my component to a form through code but it doesn't appear in the toolbox, really boring.
How can I solve this issue?
If I link directly the DLL project to this project it works, but now I'm treating the DLL as "external" so it's not part of the same solution of the DLL project.
I had this problem with #AndrewFinnell's solution:
There are no components in 'c:....\XXXX.dll' that can be placed on the toolbox.
So I solved with drag and drop:
open Windows explorer and navigate to the DLL
drag the DLL and drop it on Visual Studio in the Toolbox, exactly where you want your components to appear.
I also realized that some components may have compatibility issues with certain .NET Framework versions. For instance A Professional Calendar/Agenda View That You Will Use seems not to work with .NET 4.5, while it does with .NET 4.
Right-click in the toolbox.
Click "Choose Items..."
Click "Browse..."
Navigate to your DLL and click Open
Then click "Ok"
Your components should then show up
The way I found to make this working is:
Add the dll, reference it
Compile the project
Save the solution and restart visual studio
And then controls show up in toolbox (not always working, I think is a sort of visual studio bug)
Like said above,
I reference the DLL in the client project by: in Solution Explorer right click > Add Reference, at this time the custom control doesn't appear in the Toolbox.
I save it and close the client project.
I restart Visual Studio 2012 and reopen the client project. Now the custom control is in the Toolbox.
I reopen the custom control project, make some modifications and compile.
And the most important, all changes that I made in the DLL project automatically were updated in the client project without need to redo "Add Reference".
Here is what I did.
After install the net 3.5 chart download from MSDN link, I manually copied the 3.5 chart dlls to my project and refer to them. Then, from the "choose item" of toolbox, browse to the dlls and add them into toolbox. Make sure the checkbox is checked for the "chart" in the "choose item" popup.
After these, the "chart" item in the toolbox should be available and enabled for .NET 3.5 project.
NOTE
(I am using Visual Studio 2010. I think my solution should work for 2012.)
I was having this same issue. I am working in Visual Studio 2010.
My user control library is written in C# and my project I'am importing it into is in Visual Basic.
If I had the C# project in my solution, the custom user controls would show up automatically. But if I only referenced the DLL it would not load the custom user controls from the referenced library into the "Toolbox".
The above post that mentions finding the file in explorer and dragging and dropping it into the toolbox solved the problem. This is a very strange way of behaving. VB user control libraries don't require this step.
This has been an issue I have had sitting on the burner for the last 2 years.
I would up-vote the previous answer but I don't have enough rep yet.
This post could use some better tags, cause it was buried on most of my google searches.
So
Reference the user control library
Drop the DLL file into the tool box.
One question I have in regards to this is: what happens if you change the project reference to the DLL (because it moved) and not attempt to update the toolbox reference (by removing the control from the toolbox and dragging and dropping the DLL from the new location)?
I tried following the other answers (thanks to all of you!), but I got this problem and I'll let you all know how I solved it and show my custom tools in toolbar (in VS 2017).
Place the .ddl file in any Library Solution
Then I add that .ddl as reference to my needed project
Build the project and restart the Visual Studio
Then, when I look into toolbox, my custom toolbox name appears in
toolbar, when I expand that I got below message
There are no Usable controls in this group. Drag an item onto this
text to add in to toolbok
I dragged the .dll and dropped under that text and then all my custom tools appeared in my toolbox.
And add lib. to folder in your solution example solutionfolder/bin/debug and then add reference to object from this folder, finally rebuild, quit, come back, drag and drop dll from this solutionfolder/.../../ and it will probably appear.

Should the new MFC Feature pack contols appear in VS toolbox

I'm trying to use some of the new MFC feature pack controls on an existing MFC app, with VS2008 SP1. None of the new controls appear in the dialog-editor toolbox.
Should I expect them to be there, and if so, do people have any suggestion for how to get them to appear?
Unfortunately there no IDE support for new "NextMFC" controls. There also no plans to add it to VS2008 at this moment, we need to wait for VS2010!

Resources