📄 samplemenus.cs
字号:
mc1.MenuCommands.ExtraBackBrush = new LinearGradientBrush(new Point(0,0), new Point(100,100),
Color.LightGreen, Color.DarkGreen);
}
protected void SetupStatusBar()
{
// Create and setup the StatusBar object
_status = new StatusBar();
_status.Dock = DockStyle.Bottom;
_status.ShowPanels = true;
// Create and setup a single panel for the StatusBar
_statusBarPanel = new StatusBarPanel();
_statusBarPanel.AutoSize = StatusBarPanelAutoSize.Spring;
_status.Panels.Add(_statusBarPanel);
Controls.Add(_status);
}
public void SetStatusBarText(string text)
{
_statusBarPanel.Text = text;
}
public ImageList Images
{
get { return _images; }
}
public VisualStyle Style
{
get { return _topMenu.Style; }
}
protected void OnSelected(MenuCommand mc)
{
SetStatusBarText("Selection over " + mc.Description);
}
protected void OnDeselected(MenuCommand mc)
{
SetStatusBarText("");
}
protected void OnMenuItemSelected(string name)
{
MDIChild child = this.ActiveMdiChild as MDIChild;
if (child != null)
child.AppendText(name);
}
protected void OnGenericSelect(object sender, EventArgs e)
{
MenuCommand mc = sender as MenuCommand;
OnMenuItemSelected(mc.Text);
}
protected void OnIDEUpdate(object sender, EventArgs e)
{
MenuCommand mc = sender as MenuCommand;
mc.Checked = (_topMenu.Style == VisualStyle.IDE);
}
protected void OnIDESelected(object sender, EventArgs e)
{
_topMenu.Style = VisualStyle.IDE;
OnMenuItemSelected("IDE");
}
protected void OnPlainUpdate(object sender, EventArgs e)
{
MenuCommand mc = sender as MenuCommand;
mc.Checked = (_topMenu.Style == VisualStyle.Plain);
}
protected void OnPlainSelected(object sender, EventArgs e)
{
_topMenu.Style = VisualStyle.Plain;
OnMenuItemSelected("Plain");
}
protected void OnPlainAsBlockUpdate(object sender, EventArgs e)
{
MenuCommand mc = sender as MenuCommand;
mc.Checked = _topMenu.PlainAsBlock;
}
protected void OnPlainAsBlockSelected(object sender, EventArgs e)
{
_topMenu.PlainAsBlock = !_topMenu.PlainAsBlock;
OnMenuItemSelected("PlainAsBlock");
}
protected void OnMultiLineUpdate(object sender, EventArgs e)
{
MenuCommand mc = sender as MenuCommand;
mc.Checked = _topMenu.MultiLine;
}
protected void OnMultiLineSelected(object sender, EventArgs e)
{
_topMenu.MultiLine = !_topMenu.MultiLine;
OnMenuItemSelected("MultiLine");
}
protected void OnDockLeftSelected(object sender, EventArgs e)
{
_topMenu.Dock = DockStyle.Left;
OnMenuItemSelected("DockLeft");
}
protected void OnDockLeftUpdate(object sender, EventArgs e)
{
MenuCommand mc = sender as MenuCommand;
mc.Checked = (_topMenu.Dock == DockStyle.Left);
}
protected void OnDockTopSelected(object sender, EventArgs e)
{
_topMenu.Dock = DockStyle.Top;
OnMenuItemSelected("DockTop");
}
protected void OnDockTopUpdate(object sender, EventArgs e)
{
MenuCommand mc = sender as MenuCommand;
mc.Checked = (_topMenu.Dock == DockStyle.Top);
}
protected void OnDockRightSelected(object sender, EventArgs e)
{
_topMenu.Dock = DockStyle.Right;
OnMenuItemSelected("DockRight");
}
protected void OnDockRightUpdate(object sender, EventArgs e)
{
MenuCommand mc = sender as MenuCommand;
mc.Checked = (_topMenu.Dock == DockStyle.Right);
}
protected void OnDockBottomSelected(object sender, EventArgs e)
{
_topMenu.Dock = DockStyle.Bottom;
OnMenuItemSelected("DockBottom");
}
protected void OnDockBottomUpdate(object sender, EventArgs e)
{
MenuCommand mc = sender as MenuCommand;
mc.Checked = (_topMenu.Dock == DockStyle.Bottom);
}
protected void OnExit(object sender, EventArgs e)
{
Close();
}
protected void OnNewWindowSelected(object sender, EventArgs e)
{
MDIChild child = new MDIChild(this);
child.MdiParent = this;
child.Size = new Size(130,130);
child.Text = "Child" + _count++;
child.Show();
OnMenuItemSelected("NewWindow");
}
protected void OnCloseWindowUpdate(object sender, EventArgs e)
{
MenuCommand mc = sender as MenuCommand;
mc.Enabled = (this.ActiveMdiChild != null);
}
protected void OnCloseWindowSelected(object sender, EventArgs e)
{
// Close just the curren mdi child window
this.ActiveMdiChild.Close();
OnMenuItemSelected("CloseWindow");
}
protected void OnCloseAllUpdate(object sender, EventArgs e)
{
MenuCommand mc = sender as MenuCommand;
mc.Enabled = (this.ActiveMdiChild != null);
}
protected void OnCloseAllSelected(object sender, EventArgs e)
{
MenuCommand mdiCommand = sender as MenuCommand;
foreach(MDIChild child in Controls)
child.Close();
OnMenuItemSelected("CloseAll");
}
protected void OnNextSelected(object sender, EventArgs e)
{
Form current = this.ActiveMdiChild;
if (current != null)
{
// Get collectiom of Mdi child windows
Form[] children = this.MdiChildren;
// Find position of the window after the current one
int newPos = Array.LastIndexOf(children, current) + 1;
// Check for moving off the end of list, wrap back to start
if (newPos == children.Length)
newPos = 0;
children[newPos].Activate();
}
OnMenuItemSelected("Next");
}
protected void OnPreviousSelected(object sender, EventArgs e)
{
Form current = this.ActiveMdiChild;
if (current != null)
{
// Get collectiom of Mdi child windows
Form[] children = this.MdiChildren;
// Find position of the window after the current one
int newPos = Array.LastIndexOf(children, current) - 1;
// Check for moving off the start of list, wrap back to end
if (newPos < 0)
newPos = children.Length - 1;
children[newPos].Activate();
}
OnMenuItemSelected("Previous");
}
protected void OnNextPreviousUpdate(object sender, EventArgs e)
{
MenuCommand mc = sender as MenuCommand;
mc.Enabled = (this.MdiChildren.Length > 1);
}
protected void OnCascadeSelected(object sender, EventArgs e)
{
this.LayoutMdi(MdiLayout.Cascade);
OnMenuItemSelected("Cascade");
}
protected void OnTileHSelected(object sender, EventArgs e)
{
this.LayoutMdi(MdiLayout.TileHorizontal);
OnMenuItemSelected("TileH");
}
protected void OnTileVSelected(object sender, EventArgs e)
{
this.LayoutMdi(MdiLayout.TileVertical);
OnMenuItemSelected("TileV");
}
protected void OnLayoutUpdate(object sender, EventArgs e)
{
MenuCommand mc = sender as MenuCommand;
mc.Enabled = (this.MdiChildren.Length > 0);
}
protected void OnWindowMenuStart(MenuCommand mc)
{
Form current = this.ActiveMdiChild;
// Get collectiom of Mdi child windows
Form[] children = this.MdiChildren;
if (children.Length > 0)
{
// Add a separator to the menu
mc.MenuCommands.Add(new MenuCommand("-"));
foreach(Form f in children)
{
MenuCommand newMC = new MenuCommand(f.Text);
// Is this the currently selected child?
newMC.Checked = (current == f);
newMC.Click += new EventHandler(OnChildSelect);
// Add a command for this active MDI Child
mc.MenuCommands.Add(newMC);
}
}
}
protected void OnWindowMenuEnd(MenuCommand mc)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -