Csharp/C Sharp/GUI Windows Form/ToolStripMenuItem — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 14:32, 26 мая 2010
ToolStripMenuItem in action
<source lang="csharp"> using System; using System.Collections.Generic; using System.ruponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; public class Form1 : Form {
private System.Windows.Forms.MenuStrip menuStrip1; private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem formatToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem colorToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem blackToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem blueToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem redToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem greenToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem fontToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem timesToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem courierToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem comicToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem boldToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem italicToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator dashToolStripMenuItem; private System.Windows.Forms.Label displayLabel; public Form1() { InitializeComponent(); } private void aboutToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("First Line\nSecond Line", "About", MessageBoxButtons.OK, MessageBoxIcon.Information ); } private void exitToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } private void ClearColor() { blackToolStripMenuItem.Checked = false; blueToolStripMenuItem.Checked = false; redToolStripMenuItem.Checked = false; greenToolStripMenuItem.Checked = false; } private void blackToolStripMenuItem_Click(object sender, EventArgs e) { ClearColor(); displayLabel.ForeColor = Color.Black; blackToolStripMenuItem.Checked = true; } private void blueToolStripMenuItem_Click(object sender, EventArgs e) { ClearColor(); displayLabel.ForeColor = Color.Blue; blueToolStripMenuItem.Checked = true; } private void redToolStripMenuItem_Click(object sender, EventArgs e) { ClearColor(); displayLabel.ForeColor = Color.Red; redToolStripMenuItem.Checked = true; } private void greenToolStripMenuItem_Click(object sender, EventArgs e) { ClearColor(); displayLabel.ForeColor = Color.Green; greenToolStripMenuItem.Checked = true; } private void ClearFont() { timesToolStripMenuItem.Checked = false; courierToolStripMenuItem.Checked = false; comicToolStripMenuItem.Checked = false; } private void timesToolStripMenuItem_Click(object sender, EventArgs e) { ClearFont(); timesToolStripMenuItem.Checked = true; displayLabel.Font = new Font( "Times New Roman", 14, displayLabel.Font.Style ); } private void courierToolStripMenuItem_Click(object sender, EventArgs e) { ClearFont(); courierToolStripMenuItem.Checked = true; displayLabel.Font = new Font( "Courier", 14, displayLabel.Font.Style ); } private void comicToolStripMenuItem_Click(object sender, EventArgs e) { ClearFont(); comicToolStripMenuItem.Checked = true; displayLabel.Font = new Font( "Comic Sans MS", 14, displayLabel.Font.Style ); } private void boldToolStripMenuItem_Click(object sender, EventArgs e) { boldToolStripMenuItem.Checked = !boldToolStripMenuItem.Checked; displayLabel.Font = new Font( displayLabel.Font.FontFamily, 14, displayLabel.Font.Style ^ FontStyle.Bold ); } private void italicToolStripMenuItem_Click(object sender, EventArgs e) { italicToolStripMenuItem.Checked = !italicToolStripMenuItem.Checked; displayLabel.Font = new Font( displayLabel.Font.FontFamily, 14, displayLabel.Font.Style ^ FontStyle.Italic ); } private void InitializeComponent() { this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.formatToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.colorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.blackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.blueToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.redToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.greenToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fontToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.timesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.courierToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.ruicToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.dashToolStripMenuItem = new System.Windows.Forms.ToolStripSeparator(); this.boldToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.italicToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.displayLabel = new System.Windows.Forms.Label(); this.menuStrip1.SuspendLayout(); this.SuspendLayout(); // // menuStrip1 // this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem1, this.formatToolStripMenuItem}); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Size = new System.Drawing.Size(326, 24); this.menuStrip1.TabIndex = 4; this.menuStrip1.Text = "menuStrip1"; // // fileToolStripMenuItem1 // this.fileToolStripMenuItem1.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.aboutToolStripMenuItem, this.exitToolStripMenuItem}); this.fileToolStripMenuItem1.Name = "fileToolStripMenuItem1"; this.fileToolStripMenuItem1.Text = "File"; // // aboutToolStripMenuItem // this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; this.aboutToolStripMenuItem.Text = "About"; this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); // // exitToolStripMenuItem // this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; this.exitToolStripMenuItem.Text = "Exit"; this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); // // formatToolStripMenuItem // this.formatToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.colorToolStripMenuItem, this.fontToolStripMenuItem}); this.formatToolStripMenuItem.Name = "formatToolStripMenuItem"; this.formatToolStripMenuItem.Text = "Format"; // // colorToolStripMenuItem // this.colorToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.blackToolStripMenuItem, this.blueToolStripMenuItem, this.redToolStripMenuItem, this.greenToolStripMenuItem}); this.colorToolStripMenuItem.Name = "colorToolStripMenuItem"; this.colorToolStripMenuItem.Text = "Color"; // // blackToolStripMenuItem // this.blackToolStripMenuItem.Name = "blackToolStripMenuItem"; this.blackToolStripMenuItem.Text = "Black"; this.blackToolStripMenuItem.Click += new System.EventHandler(this.blackToolStripMenuItem_Click); // // blueToolStripMenuItem // this.blueToolStripMenuItem.Name = "blueToolStripMenuItem"; this.blueToolStripMenuItem.Text = "Blue"; this.blueToolStripMenuItem.Click += new System.EventHandler(this.blueToolStripMenuItem_Click); // // redToolStripMenuItem // this.redToolStripMenuItem.Name = "redToolStripMenuItem"; this.redToolStripMenuItem.Text = "Red"; this.redToolStripMenuItem.Click += new System.EventHandler(this.redToolStripMenuItem_Click); // // greenToolStripMenuItem // this.greenToolStripMenuItem.Name = "greenToolStripMenuItem"; this.greenToolStripMenuItem.Text = "Green"; this.greenToolStripMenuItem.Click += new System.EventHandler(this.greenToolStripMenuItem_Click); // // fontToolStripMenuItem // this.fontToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.timesToolStripMenuItem, this.courierToolStripMenuItem, this.ruicToolStripMenuItem, this.dashToolStripMenuItem, this.boldToolStripMenuItem, this.italicToolStripMenuItem}); this.fontToolStripMenuItem.Name = "fontToolStripMenuItem"; this.fontToolStripMenuItem.Text = "Font"; // // timesToolStripMenuItem // this.timesToolStripMenuItem.Name = "timesToolStripMenuItem"; this.timesToolStripMenuItem.Text = "Times New Roman"; this.timesToolStripMenuItem.Click += new System.EventHandler(this.timesToolStripMenuItem_Click); // // courierToolStripMenuItem // this.courierToolStripMenuItem.Name = "courierToolStripMenuItem"; this.courierToolStripMenuItem.Text = "Courier"; this.courierToolStripMenuItem.Click += new System.EventHandler(this.courierToolStripMenuItem_Click); // // comicToolStripMenuItem // this.ruicToolStripMenuItem.Name = "comicToolStripMenuItem"; this.ruicToolStripMenuItem.Text = "Comic Sans"; this.ruicToolStripMenuItem.Click += new System.EventHandler(this.ruicToolStripMenuItem_Click); // // dashToolStripMenuItem // this.dashToolStripMenuItem.Name = "dashToolStripMenuItem"; // // boldToolStripMenuItem // this.boldToolStripMenuItem.Name = "boldToolStripMenuItem"; this.boldToolStripMenuItem.Text = "Bold"; this.boldToolStripMenuItem.Click += new System.EventHandler(this.boldToolStripMenuItem_Click); // // italicToolStripMenuItem // this.italicToolStripMenuItem.Name = "italicToolStripMenuItem"; this.italicToolStripMenuItem.Text = "Italic"; this.italicToolStripMenuItem.Click += new System.EventHandler(this.italicToolStripMenuItem_Click); // // displayLabel // this.displayLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.displayLabel.Location = new System.Drawing.Point(12, 39); this.displayLabel.Name = "displayLabel"; this.displayLabel.Size = new System.Drawing.Size(293, 89); this.displayLabel.TabIndex = 7; this.displayLabel.Text = "Text"; // // MenuTest // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(326, 169); this.Controls.Add(this.menuStrip1); this.Controls.Add(this.displayLabel); this.Name = "MenuTest"; this.Text = "MenuTest"; this.menuStrip1.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); } [STAThread] static void Main() { Application.EnableVisualStyles(); Application.Run(new Form1()); }
}
</source>
Use ToolStripMenuItem to set font size
<source lang="csharp"> using System; using System.Collections.Generic; using System.ruponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; enum TextFontSize {
FontSizeHuge = 30, FontSizeNormal = 20, FontSizeTiny = 8
} public class MainWindow : Form {
private TextFontSize currFontSize = TextFontSize.FontSizeNormal; private ToolStripMenuItem currentCheckedItem; public MainWindow() { InitializeComponent(); currentCheckedItem = normalToolStripMenuItem; currentCheckedItem.Checked = true; this.toolStripTextBoxColor.LostFocus += new EventHandler(toolStripTextBoxColor_LostFocus); } private void exitToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } void toolStripTextBoxColor_LostFocus(object sender, EventArgs e) { BackColor = Color.FromName(toolStripTextBoxColor.Text); } private void ContextMenuItemSelection_Clicked(object sender, EventArgs e) { currentCheckedItem.Checked = false; ToolStripMenuItem miClicked = miClicked = (ToolStripMenuItem)sender; if (miClicked.Name == "hugeToolStripMenuItem") { currFontSize = TextFontSize.FontSizeHuge; currentCheckedItem = hugeToolStripMenuItem; } if (miClicked.Name == "normalToolStripMenuItem") { currFontSize = TextFontSize.FontSizeNormal; currentCheckedItem = normalToolStripMenuItem; } if (miClicked.Name == "tinyToolStripMenuItem") { currFontSize = TextFontSize.FontSizeTiny; currentCheckedItem = tinyToolStripMenuItem; } currentCheckedItem.Checked = true; Invalidate(); } private void MainWindow_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; g.DrawString("Right click on me...", new Font("Times New Roman", (float)currFontSize), new SolidBrush(Color.Black), 50, 50); } private void InitializeComponent() { this.mainMenuStrip = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.changeBackgroundColorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripTextBoxColor = new System.Windows.Forms.ToolStripTextBox(); this.hugeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.normalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tinyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.mainMenuStrip.SuspendLayout(); this.fontSizeContextStrip.SuspendLayout(); this.SuspendLayout(); // this.mainMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, this.changeBackgroundColorToolStripMenuItem}); this.mainMenuStrip.Location = new System.Drawing.Point(0, 0); this.mainMenuStrip.Name = "mainMenuStrip"; this.mainMenuStrip.Size = new System.Drawing.Size(300, 24); this.mainMenuStrip.TabIndex = 0; this.mainMenuStrip.Text = "menuStrip1"; this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.exitToolStripMenuItem}); this.fileToolStripMenuItem.Text = "&File"; this.exitToolStripMenuItem.Text = "E&xit"; this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); // // changeBackgroundColorToolStripMenuItem // this.changeBackgroundColorToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripTextBoxColor}); this.changeBackgroundColorToolStripMenuItem.Name = "changeBackgroundColorToolStripMenuItem"; this.changeBackgroundColorToolStripMenuItem.Text = "Change Background Color"; // // toolStripTextBoxColor // this.toolStripTextBoxColor.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.ImageAndText; this.toolStripTextBoxColor.Name = "toolStripTextBoxColor"; this.toolStripTextBoxColor.Size = new System.Drawing.Size(100, 21); this.fontSizeContextStrip.Enabled = true; this.fontSizeContextStrip.GripMargin = new System.Windows.Forms.Padding(2); this.fontSizeContextStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.hugeToolStripMenuItem, this.normalToolStripMenuItem, this.tinyToolStripMenuItem}); this.fontSizeContextStrip.Location = new System.Drawing.Point(25, 90); this.fontSizeContextStrip.Name = "contextMenuStrip1"; this.fontSizeContextStrip.RightToLeft = System.Windows.Forms.RightToLeft.No; this.fontSizeContextStrip.Size = new System.Drawing.Size(97, 70); this.hugeToolStripMenuItem.Text = "Huge"; this.hugeToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuItemSelection_Clicked); this.normalToolStripMenuItem.Text = "Normal"; this.normalToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuItemSelection_Clicked); this.tinyToolStripMenuItem.Text = "Tiny"; this.tinyToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuItemSelection_Clicked); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(300, 145); this.ContextMenuStrip = this.fontSizeContextStrip; this.Controls.Add(this.mainMenuStrip); this.Paint += new System.Windows.Forms.PaintEventHandler(this.MainWindow_Paint); this.mainMenuStrip.ResumeLayout(false); this.fontSizeContextStrip.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); } private System.Windows.Forms.MenuStrip mainMenuStrip; private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem changeBackgroundColorToolStripMenuItem; private System.Windows.Forms.ToolStripTextBox toolStripTextBoxColor; private System.Windows.Forms.ContextMenuStrip fontSizeContextStrip; private System.Windows.Forms.ToolStripMenuItem hugeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem normalToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem tinyToolStripMenuItem; [STAThread] static void Main() { Application.EnableVisualStyles(); Application.Run(new MainWindow()); }
}
</source>