473,395 Members | 1,653 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

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 2884
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
ToolStripItemCollection, 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
ToolStripItemCollection, 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=Insert(Instead of Append) with certain MergeIndex to
get what you want. If we changed to use MergeType=Insert, 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=Insert(Instead of Append) with certain MergeIndex to
get what you want. If we changed to use MergeType=Insert, 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.Collections;
using System.ComponentModel;
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.ComponentModel.Container components = null;

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

//
// TODO: Add any constructor code after InitializeComponent call
//
}

/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
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 InitializeComponent()
{
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.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem1,
this.menuItem5,
this.menuItem6,
this.menuItem7});
//
// menuItem1
//
this.menuItem1.Index = 0;
this.menuItem1.MenuItems.AddRange(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.EventHandler(this.menuItem8_Click);
//
// MdiParent
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
this.ClientSize = new System.Drawing.Size(966, 508);
this.IsMdiContainer = true;
this.Menu = this.mainMenu1;
this.Name = "MdiParent";
this.Text = "MdiParent";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;

}
#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.EventArgs e)
{
MdiChild newChild = new MdiChild();
newChild.MdiParent = this;
newChild.Show();
}
}
}

Child Form
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
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.ComponentModel.Container components = null;

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

//
// TODO: Add any constructor code after InitializeComponent call
//
}

/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
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 InitializeComponent()
{
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.AddRange(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.AutoScaleBaseSize = 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
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...
2
by: **Developer** | last post by:
I open a form containing a MainMenu thusly: Dim FormTextEditor As New FormChildArtEditorTool FormTextEditor.MdiParent = Me FormTextEditor.Show()
0
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...
2
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
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...
11
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...
0
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
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
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...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
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,...
0
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...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

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.