Шаг 157 - Перемещение пунктов меню

У пункта меню есть свойство Index:

public int Index {get; set;}

Это свойство можно использовать для перемещения позиции меню. Смотрим пример:

using System;
using System.Windows.Forms;
using System.Drawing;

class MainForm : Form
{
	MenuItem MenuNew;

	public MainForm()
	{
		Text = "Easy Draw";
		MainMenu mnuMenu = new MainMenu();
		this.Menu = mnuMenu;
		MenuItem MenuItemFile = new MenuItem("&File");
		MenuNew = new MenuItem("New");
		MenuItem MenuOpen = new MenuItem("Open");
		MenuItem MenuExit = new MenuItem("Exit",
			new System.EventHandler(this.MenuExit_Click));
		MenuExit.Shortcut = Shortcut.CtrlX;
   		MenuItemFile.MenuItems.Add(MenuNew);
		MenuItemFile.MenuItems.Add(MenuOpen);
		MenuItemFile.MenuItems.Add(MenuExit);
		mnuMenu.MenuItems.Add(MenuItemFile);
	}
	
	private void MenuExit_Click(Object sender, EventArgs e)
	{
   		MenuNew.Index=MenuNew.Index+1; 
	} 

	

	public static void Main(string[] args)
	{
		Application.Run(new MainForm());
	}
}

В начальном состоянии меню такое.

gif/157_1.gif (2138 b)

После двух вызовов Exit меню поменяет свое положение.

gif/157_2.gif (2004 b)

Но будте осторожны, еще один вызов и Вы получите исключение:

gif/157_3.gif (4470 b)


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 25.10.2001