Link to home
Start Free TrialLog in
Avatar of Parth48
Parth48Flag for India

asked on

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

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 ??
Avatar of p_davis
p_davis

give it a location or set the dock property
ASKER CERTIFIED SOLUTION
Avatar of UnifiedIS
UnifiedIS

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Parth48

ASKER

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 ??
Avatar of Parth48

ASKER

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 ??
Avatar of Parth48

ASKER

i think i missing something in Page_load Event ???

but i can't find it ??