473,761 Members | 9,284 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Menustrips

How do I insert a MDI child menustrip without any matches within the parent
menustrip so that the entire top level child menustrip comes after a
specified top level parent menu item. For example inserting the child
menustrip after a menuitem "View" on the parent and before "Windows" and
"Help". This was easy with MainMenu and Menuitems but I can't get this to
work with Menustrips. Appreciate any help.
Nov 17 '05 #1
7 2899
Hi teplick,

Thanks for your post.

Currently, I do not think I understand you very well.

Based on your post, you should be using VS.net2005 for winform programming.
However, in VS.net2005, it seems that there are no MainMenu and Menuitems,
why do you say that: "This was easy with MainMenu and Menuitems but I can't
get this to work with Menustrips"?

Also, I do not think a menustrip can be added in the Items property of
another MenuStrip, because MenuStrip.Items property is of type
ToolStripItemCo llection, which contain MenuStrip as an item. So I do not
know how you " inserting the child menustrip after a menuitem "View" on the
parent and before "Windows" and "Help"".

Can you give us some clarify on these? Thanks
=============== =============== =============== ========
Thank you for your patience and cooperation. If you have any questions or
concerns, please feel free to post it in the group. I am standing by to be
of assistance.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Nov 17 '05 #2


""Jeffrey Tan[MSFT]"" wrote:
Hi teplick,

Thanks for your post.

Currently, I do not think I understand you very well.

Based on your post, you should be using VS.net2005 for winform programming.
However, in VS.net2005, it seems that there are no MainMenu and Menuitems,
why do you say that: "This was easy with MainMenu and Menuitems but I can't
get this to work with Menustrips"?

Also, I do not think a menustrip can be added in the Items property of
another MenuStrip, because MenuStrip.Items property is of type
ToolStripItemCo llection, which contain MenuStrip as an item. So I do not
know how you " inserting the child menustrip after a menuitem "View" on the
parent and before "Windows" and "Help"".

Can you give us some clarify on these? Thanks
=============== =============== =============== ========
Thank you for your patience and cooperation. If you have any questions or
concerns, please feel free to post it in the group. I am standing by to be
of assistance.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Jeffrey

I am using VS2005B2 and Mainmenu and Menuitems can be added to the toolbox
but since they are going to be obsolete, I am trying not to use to use them.
Perhaps this will clarify my ? I want to merge a MDI child menustrip without
any matches within the parent menustrip so that the entire top level child
menustrip comes between
specified top level MDI container parent menu items. For example, when I
instantiate the child, it should insert its menustrip between menuitem "View"
and before menuitem "Windows"on the parent.

That is:
MDI container parent menuitem something like: File View Windows help
Child menustrip: cmd1 cmd2 cmd3

When MDI child is instantiated menu should be
File View Cmd1 Cmd2 Cmd3 Windows Help

As mentioned, this is easy with Mainmenu and Menuitems I can't get this to
occur with Menustrips. If this cannot be done using Menustrips, does this
mean that Mainmenu and Menuitems must still be used for MDI applications
Thanks for your help,
Dick
Nov 17 '05 #3
Hi Dick,

Thanks for your feedback.

Yes, the MenuStrip customize merge behavior is changed in Whidbey. We
should set MergeType=Inser t(Instead of Append) with certain MergeIndex to
get what you want. If we changed to use MergeType=Inser t, everything should
work now(at least work in my test).

Actually, this break behavior is reported by other customers, for more
information please refer to:
"Bug Details: MDI Menu merge still broken in beta 2"
http://lab.msdn.microsoft.com/Produc...x?feedbackid=9
650cc62-3084-4822-8290-a8a1ca7483a2

Hope this helps
=============== =============== ===============
Thank you for your patience and cooperation. If you have any questions or
concerns, please feel free to post it in the group. I am standing by to be
of assistance.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Nov 17 '05 #4
Jeffrey,
I had tried all of that but can't get it to work. The URL you sent is a
different problem. It merges submenus whereas I want to insert top level
menuitems between parent top level items. Would you send me the code that
you used that worked please so I may see how to do this.
Thanks
Dick

""Jeffrey Tan[MSFT]"" wrote:
Hi Dick,

Thanks for your feedback.

Yes, the MenuStrip customize merge behavior is changed in Whidbey. We
should set MergeType=Inser t(Instead of Append) with certain MergeIndex to
get what you want. If we changed to use MergeType=Inser t, everything should
work now(at least work in my test).

Actually, this break behavior is reported by other customers, for more
information please refer to:
"Bug Details: MDI Menu merge still broken in beta 2"
http://lab.msdn.microsoft.com/Produc...x?feedbackid=9
650cc62-3084-4822-8290-a8a1ca7483a2

Hope this helps
=============== =============== ===============
Thank you for your patience and cooperation. If you have any questions or
concerns, please feel free to post it in the group. I am standing by to be
of assistance.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Nov 17 '05 #5
Hi Dick,

Thanks for your feedback.

I do not think I understand you very well. As you said, we can easily do
this in VS.net 2003, so can you provide us a VS.net2003 sample about the
feature you need? Then I think I can understand your meaning much better.
Thanks for your understanding.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Nov 17 '05 #6
""Jeffrey Tan[MSFT]"" wrote:
Hi Dick,

Thanks for your feedback.

I do not think I understand you very well. As you said, we can easily do
this in VS.net 2003, so can you provide us a VS.net2003 sample about the
feature you need? Then I think I can understand your meaning much better.
Thanks for your understanding.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

I would send you a zip file of the following simple example but I don't know
how to attach a file to a message so here's the essence of the code. When
you click on File, Open Child in the Mainform, cmd1 and cmd2 are inserted
after View and before Window on the parent form. I cannot duplicate this
insertion using Menustrips.
Appreciate your ongoing help

MainForm (MdiContainer)

using System;
using System.Drawing;
using System.Collecti ons;
using System.Componen tModel;
using System.Windows. Forms;
using System.Data;

namespace MergeMdiMenus
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class MdiParent : System.Windows. Forms.Form
{
private System.Windows. Forms.MainMenu mainMenu1;
private System.Windows. Forms.MenuItem menuItem1;
private System.Windows. Forms.MenuItem menuItem2;
private System.Windows. Forms.MenuItem menuItem3;
private System.Windows. Forms.MenuItem menuItem4;
private System.Windows. Forms.MenuItem menuItem5;
private System.Windows. Forms.MenuItem menuItem6;
private System.Windows. Forms.MenuItem menuItem7;
private System.Windows. Forms.MenuItem menuItem8;
/// <summary>
/// Required designer variable.
/// </summary>
private System.Componen tModel.Containe r components = null;

public MdiParent()
{
//
// Required for Windows Form Designer support
//
InitializeCompo nent();

//
// TODO: Add any constructor code after InitializeCompo nent call
//
}

/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Disp ose();
}
}
base.Dispose( disposing );
}

#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeCompo nent()
{
this.mainMenu1 = new System.Windows. Forms.MainMenu( );
this.menuItem1 = new System.Windows. Forms.MenuItem( );
this.menuItem2 = new System.Windows. Forms.MenuItem( );
this.menuItem3 = new System.Windows. Forms.MenuItem( );
this.menuItem4 = new System.Windows. Forms.MenuItem( );
this.menuItem5 = new System.Windows. Forms.MenuItem( );
this.menuItem6 = new System.Windows. Forms.MenuItem( );
this.menuItem7 = new System.Windows. Forms.MenuItem( );
this.menuItem8 = new System.Windows. Forms.MenuItem( );
//
// mainMenu1
//
this.mainMenu1. MenuItems.AddRa nge(new System.Windows. Forms.MenuItem[] {
this.menuItem1,
this.menuItem5,
this.menuItem6,
this.menuItem7} );
//
// menuItem1
//
this.menuItem1. Index = 0;
this.menuItem1. MenuItems.AddRa nge(new System.Windows. Forms.MenuItem[] {
this.menuItem8,
this.menuItem2,
this.menuItem3,
this.menuItem4} );
this.menuItem1. Text = "&File";
//
// menuItem2
//
this.menuItem2. Index = 1;
this.menuItem2. Text = "&New";
//
// menuItem3
//
this.menuItem3. Index = 2;
this.menuItem3. Text = "&Save";
//
// menuItem4
//
this.menuItem4. Index = 3;
this.menuItem4. Text = "&Exit";
//
// menuItem5
//
this.menuItem5. Index = 1;
this.menuItem5. Text = "&View";
//
// menuItem6
//
this.menuItem6. Index = 2;
this.menuItem6. MdiList = true;
this.menuItem6. MergeOrder = 1;
this.menuItem6. Text = "&Window";
//
// menuItem7
//
this.menuItem7. Index = 3;
this.menuItem7. MergeOrder = 2;
this.menuItem7. Text = "&Help";
//
// menuItem8
//
this.menuItem8. Index = 0;
this.menuItem8. Text = "&Open Child";
this.menuItem8. Click += new System.EventHan dler(this.menuI tem8_Click);
//
// MdiParent
//
this.AutoScaleB aseSize = new System.Drawing. Size(6, 15);
this.ClientSize = new System.Drawing. Size(966, 508);
this.IsMdiConta iner = true;
this.Menu = this.mainMenu1;
this.Name = "MdiParent" ;
this.Text = "MdiParent" ;
this.WindowStat e = System.Windows. Forms.FormWindo wState.Maximize d;

}
#endregion

/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run (new MdiParent());
}

private void menuItem8_Click (object sender, System.EventArg s e)
{
MdiChild newChild = new MdiChild();
newChild.MdiPar ent = this;
newChild.Show() ;
}
}
}

Child Form
using System;
using System.Drawing;
using System.Collecti ons;
using System.Componen tModel;
using System.Windows. Forms;

namespace MergeMdiMenus
{
/// <summary>
/// Summary description for MdiChild.
/// </summary>
public class MdiChild : System.Windows. Forms.Form
{
private System.Windows. Forms.MainMenu childMenu;
private System.Windows. Forms.MenuItem menuItem1;
private System.Windows. Forms.MenuItem menuItem2;
/// <summary>
/// Required designer variable.
/// </summary>
private System.Componen tModel.Containe r components = null;

public MdiChild()
{
//
// Required for Windows Form Designer support
//
InitializeCompo nent();

//
// TODO: Add any constructor code after InitializeCompo nent call
//
}

/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Disp ose();
}
}
base.Dispose( disposing );
}

#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeCompo nent()
{
this.childMenu = new System.Windows. Forms.MainMenu( );
this.menuItem1 = new System.Windows. Forms.MenuItem( );
this.menuItem2 = new System.Windows. Forms.MenuItem( );
//
// childMenu
//
this.childMenu. MenuItems.AddRa nge(new System.Windows. Forms.MenuItem[] {
this.menuItem1,
this.menuItem2} );
//
// menuItem1
//
this.menuItem1. Index = 0;
this.menuItem1. Text = "Cmd1";
//
// menuItem2
//
this.menuItem2. Index = 1;
this.menuItem2. Text = "Cmd2";
//
// MdiChild
//
this.AutoScaleB aseSize = new System.Drawing. Size(6, 15);
this.ClientSize = new System.Drawing. Size(734, 428);
this.Menu = this.childMenu;
this.Name = "MdiChild";
this.Text = "MdiChild";

}
#endregion
}
}

Nov 17 '05 #7
Hi teplick,

Have you received my sample project, is your problem resolved? Please feel
free to tell me, thanks

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Nov 17 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1403
by: craig.kelly | last post by:
I've been experimenting with MenuStrips & ToolStripMenuItems and have just noticed that when the menu dropdown is active and shown, it takes a 2nd click to click on something off the menu, such as a button or the close box. I must be missing something simple.
2
1615
by: **Developer** | last post by:
I open a form containing a MainMenu thusly: Dim FormTextEditor As New FormChildArtEditorTool FormTextEditor.MdiParent = Me FormTextEditor.Show()
0
1133
by: John J. Hughes II | last post by:
Ok I have a MDI application with a dozen or so forms. What's the simpliest way to convert all the MainMenus on all the forms to MenuStrips. I did this manually on one non-MDI application I have and its a major pain to say the least. Regards, John
2
1165
by: academic | last post by:
If I look at the code I see Me.Menu = Me.MainMenuFormCaptureTool But if I look at the properties I do not see a property for Menu This is code from VS2003 What should I do to correct this.
2
1215
by: Tull Clancey | last post by:
Hi. I have an application with several menus, see last post, still not resolved. I have another problem.... The menus have been created using the menu editor, I can't find a way to add icons to the menu items. I can find examples of creating the menus is code and assigning icons, but nothing if I've created the menu system already.
11
4499
by: Maximus | last post by:
Hi all, Has anyone been able to reterive the gradient selection colors used in outlook 2003? Basically, I have a grid showing a list of records and my client wants the selected row to have the same selection gradient back color as Outlook 2003 has on its left pane. The selected pane in Outlook 2003 have a gradient orange color for blue color scheme in XP. This gradient color changes according to the color schemes of the windows XP. Can...
0
1137
by: 7829 | last post by:
Is there a way to serialize the positions of the toolstrips and menu (when docked in a ToolStripContainer), to a binary file? Thanks.
4
1371
by: win | last post by:
I've already disabled of the menu but when I press <ALT>, it still can be focusd. How can i disable this? Thanks
3
2601
by: =?Utf-8?B?RXRoYW4gU3RyYXVzcw==?= | last post by:
Hi, Is it possible to access menustrips and tooltips from the IDE when they are present on a form from which you have inherited? I would like to have a template form from which a bunch of forms inherit. This template would have a tooltip provider & a menustrip, but I need to be able to access both of those in the child forms to add remove items. I can manipulate the programatically by creating getters & setters, but I would prefer to...
0
10136
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9988
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
9923
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8813
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6640
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5266
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5405
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3911
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
2788
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.