Solved

i can't display menu on windows form , why ?

Posted on 2011-03-07
5
371 Views
Last Modified: 2012-05-11
i can't display menu on windows form , why ?

please refer the below code ...

private void Welcome_Load(object sender, EventArgs e)
        {
            //Dynamically Create Menu
            MenuStrip objMenuStrip = new MenuStrip();

            ToolStripMenuItem menuItem = new ToolStripMenuItem("File");
            // Create Main menu and child menus in a ditcionary object as key pair values.

            Dictionary<string, string[]> displayMenus = new Dictionary<string, string[]>();

            // Define the child menus based on the each main menu on the basis of key.

            displayMenus.Add("File", new string[] { "New", "Open", "Exit" });

            displayMenus.Add("Edit", new string[] { "Copy", "Cut", "Paste" });

            displayMenus.Add("Help", new string[] { "AboutMe", "ContactUs", "Help" });

            this.Controls.Add(objMenuStrip);
}

Open in new window


what can i do now ??
0
Comment
Question by:Parth48
  • 3
5 Comments
 
LVL 22

Expert Comment

by:p_davis
ID: 35056256
give it a location or set the dock property
0
 
LVL 18

Accepted Solution

by:
UnifiedIS earned 500 total points
ID: 35057134
Don't you have to set the mainmenustrip property of the form?

this.MainMenuStrip == objMenuStrip;
0
 

Author Comment

by:Parth48
ID: 35065931
i have set the mainmenustrip property of the form , but still can't display menu on form ...

please refer the below code ....

this.MainMenuStrip = objMenuStrip;

what can i do now ??
0
 

Author Comment

by:Parth48
ID: 35066132
please refer the below code .....

 private void Welcome_Load(object sender, EventArgs e)
        {
            Form objform = this.FindForm();

            //Dynamically Create Menu
            MenuStrip menuItems = new MenuStrip();
           
            //Get Form Properties
            
            objGeneral.GetFormProperties(objform);

            objform.LocationChanged += new EventHandler(this.Welcome_LocationChanged);
            objform.Resize += new EventHandler(this.Welcome_Resize  );

            //attach flash object to the windows form
            //GetFlashObject();

            //create lable Dynamically
            //Label lblTitle = new Label();
            //lblTitle.Text = "WELCOME";
            //lblTitle.BackColor = Color.FromKnownColor(KnownColor.Transparent);
            //lblTitle.Font = new Font("Microsoft Sans Serif", 14, FontStyle.Bold, GraphicsUnit.Point);
            //lblTitle.Location = new Point(200, 130);
            //lblTitle.Size = new Size(150, 25);
            //this.Controls.Add(lblTitle);
            
            //create Icon Dynamically
            PictureBox ApplicationIcon = new PictureBox();
            int length = Application.ExecutablePath.Length;
            ApplicationIcon.ImageLocation = Application.ExecutablePath.Substring(0, length - 22).ToString() + "Icons\\" + "Application_Icon.ico";
            ApplicationIcon.Size = new Size(128, 128);
            ApplicationIcon.Location = new Point(180, 150);
            this.Controls.Add(ApplicationIcon);

            //Create Button Dynamically
            Button btnLogin = new Button();
            btnLogin.Text = "Click To Login";
            btnLogin.TextAlign = ContentAlignment.MiddleCenter;
            btnLogin.Location = new Point(300, 350);
            btnLogin.Font = new Font("Microsoft Sans Serif", 10, FontStyle.Bold, GraphicsUnit.Point);
            btnLogin.Size = new Size(160, 25);
            btnLogin.Click += new EventHandler(this.btnLogin_Click);
            this.Controls.Add(btnLogin);
        }

        private List<ToolStripMenuItem> CreateMenu(Dictionary<string, string[]> displayMenus)
        {

            // Declare ToolStripMenuItem object.

            List<ToolStripMenuItem> menuItems = new List<ToolStripMenuItem>();

            // Loop through all main menus.

            foreach (KeyValuePair<string, string[]> menu in displayMenus)
            {

                // Take a ToolStripMenuItem to add the menu item.

                ToolStripMenuItem menuItem = new ToolStripMenuItem(menu.Key);

                // Set a name to the menu.

                menuItem.Name = menu.Key;

                // Create child menu items for a menu item.

                this.CreateChildMenus(menuItem, menu.Value);

                switch (menu.Key)
                {

                    case "File":

                    case "Edit":

                        // This is by default.

                        // menuItem.Alignment = ToolStripItemAlignment.Left;

                        break;

                    case "Help":

                        menuItem.Alignment = ToolStripItemAlignment.Right;

                        break;

                }

                // Add each menu item to the menu strip item.

                menuItems.Add(menuItem);

            }

            return menuItems;

        }

        private void CreateChildMenus(ToolStripMenuItem parentMenuToAddChildMenus, string[] childMenus)
        {

            // Loop through all child menus.

            foreach (string childMenu in childMenus)
            {

                // Take a ToolStripMenuItem to add the menu item.

                ToolStripMenuItem childMenuItem = new ToolStripMenuItem(childMenu);

                // Set a name to the menu.

                childMenuItem.Name = childMenu;

                // Hnadle the event for the menu created.

                childMenuItem.Click += new EventHandler(ChildMenu_Click);

                // Add each child menu to its parent menu item.

                parentMenuToAddChildMenus.DropDown.Items.Add(childMenuItem);

            }

        }

            private void ChildMenu_Click(object sender, EventArgs e)

            {

                ToolStripMenuItem sourceMenuItem = (ToolStripMenuItem)sender;

                string selectedMenu = string.Empty;

                // Selected menu item

                switch (sourceMenuItem.Name)

                {

                case "New":

                // Required statements here.

                selectedMenu = sourceMenuItem.Text;

                break;

                case "Open":

                // Required statements here.

                selectedMenu = sourceMenuItem.Text;

                break;

                case "Exit":

                // Required statements here.

                selectedMenu = sourceMenuItem.Text;

                break;

                case "Edit":

                // Required statements here.

                selectedMenu = sourceMenuItem.Text;

                break;

                case "Copy":

                // Required statements here.

                selectedMenu = sourceMenuItem.Text;

                break;

                case "Paste":

                // Required statements here.

                selectedMenu = sourceMenuItem.Text;

                break;

                case "AboutMe":

                // Required statements here.

                selectedMenu = sourceMenuItem.Text;

                break;

                case "ContactUs":

                // Required statements here.

                selectedMenu = sourceMenuItem.Text;

                break;

                case "Help":

                // Required statements here.

                selectedMenu = sourceMenuItem.Text;

                break;

                }

                if (!string.IsNullOrEmpty(selectedMenu))

                {

                MessageBox.Show(string.Concat(

                selectedMenu,

                " feature is under development "));

                }

            }

Open in new window


anything wrong in the above code ??
0
 

Author Comment

by:Parth48
ID: 35066134
i think i missing something in Page_load Event ???

but i can't find it ??
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question