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. 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.
""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
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.
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.
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.
""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
}
}
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. This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
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...
|
by: **Developer** |
last post by:
I open a form containing a MainMenu thusly:
Dim FormTextEditor As New FormChildArtEditorTool
FormTextEditor.MdiParent = Me
FormTextEditor.Show()
|
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...
|
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.
|
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...
|
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...
|
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.
|
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
|
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...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
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...
|
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
|
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...
|
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...
|
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,...
|
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,...
|
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...
|
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...
| |