Parth48
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 ...
what can i do now ??
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);
}
what can i do now ??
give it a location or set the dock property
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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 ??
please refer the below code ....
this.MainMenuStrip = objMenuStrip;
what can i do now ??
ASKER
please refer the below code .....
anything wrong in the above 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 "));
}
}
anything wrong in the above code ??
ASKER
i think i missing something in Page_load Event ???
but i can't find it ??
but i can't find it ??