技术开发 频道

将MDI子窗体加入ToolScrip


【IT168技术文档】

1using System; 2using System.Collections.Generic; 3using System.ComponentModel; 4using System.Data; 5using System.Drawing; 6using System.Text; 7using System.Windows.Forms; 8 9namespace WindowsApplication2 10{ 11 public partial class Form1 : Form 12 { 13 public Form1() 14 { 15 InitializeComponent(); 16 17 } 18 19 private void toolStripButton1_Click(object sender, EventArgs e) 20 { 21 Form2 form = new Form2(); 22 ToolStripMenuItem item = new ToolStripMenuItem((this.MdiChildren.Length + 1).ToString()); 23 toolStripDropDownButton1.DropDownItems.Add(item); 24 form.MdiParent = this; 25 form.Text = item.Text; 26 ToolMenuItemEven rm = new ToolMenuItemEven(this, form, item); 27 form.Show(); 28 } 29 } 30 31 public class ToolMenuItemEven 32 { 33 private Form form = null; 34 ToolStripMenuItem item = null; 35 private Form1 mdiForm; 36 37 public ToolMenuItemEven(Form1 mdiForm, Form fm, ToolStripMenuItem item) 38 { 39 this.mdiForm = mdiForm; 40 this.form = fm; 41 this.item = item; 42 fm.Disposed += new EventHandler(RemoveItem); 43 item.Click += new EventHandler(ItemClick); 44 ItemClearCheck(); 45 item.Checked = true; 46 item = null; 47 fm = null; 48 } 49 50 private void RemoveItem(object obj, EventArgs e) 51 { 52 if (mdiForm != null) 53 { 54 mdiForm.toolStripDropDownButton1.DropDownItems.Remove(item); 55 } 56 } 57 58 private void ItemClick(object sender, EventArgs e) 59 { 60 if (form != null && item != null) 61 { 62 form.Activate(); 63 ItemClearCheck(); 64 item.Checked = true; 65 } 66 } 67 68 private void ItemClearCheck() 69 { 70 foreach (ToolStripMenuItem it in mdiForm.toolStripDropDownButton1.DropDownItems) 71 { 72 it.Checked = false; 73 } 74 } 75 } 76}
0
相关文章