↓洛ヲ翼♂♂

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

今天在为项目添加工具栏的时候遇到了点小问题,文档要求每个已有的窗体都能通过工具栏快捷访问

我是个比较懒的人能少一句代码就少写一句,肯定不会闲的没事干再去每个窗体new一下然后show一下

于是我就想把Form.Name存在ToolStripMenuItem.Tag当中,然后再让所有ToolStripMenuItem的click事件

调用一个方法,这个方法根据ToolStripMenuItem.Tag弹出不同窗体.

具体实现如下:

1         private void toolStripMenuItem_Click(object sender, EventArgs e)
2 {
3 ToolStripMenuItem item = sender as ToolStripMenuItem;
4 Type formType = Type.GetType("命名空间." + item.Tag.ToString());
5 if (formType == null)
6 return;
7 Form frm = (Form)Activator.CreateInstance(formType);
8 frm.Show();
9 }

代码第四行处需注意,传参必须是完整的“命名空间.窗体名”不能只传窗体名,如果未找到或传参不正确那么返回

值将是null所以在第五行必须对Type进行判断。

posted on 2012-03-26 23:08  ↓洛ヲ翼♂♂  阅读(590)  评论(0)    收藏  举报