winform 菜单项显示历史记录
2014-07-11 18:15
344 查看
(1)创建一个项目,将其命名为MenuHistory,默认窗体为Form1。
(2)从工具箱中向Form1窗体添加MenuStrip控件,同时向窗体添加OpenFileDialog控件。创建一个“文件”主菜单,在其下面创建打开、关闭所有、退出等菜单选项。
(3)代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace HistoryRecord
{
public partial class Form1 : Form
{
//string address;
public Form1()
{
InitializeComponent();
//address = System.Environment.CurrentDirectory;
}
//相对路径
string address = System.Environment.CurrentDirectory;
//将打开的路径写入到INI文件
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
openFileDialog1.FileName = "";
this.openFileDialog1.ShowDialog();
StreamWriter s = new StreamWriter(address + "\\Menu.ini", true);//true:
s.WriteLine(openFileDialog1.FileName);//写入INI文件
s.Flush();//清空缓存数据,并将缓存数据写入基础流
s.Close();
}
//读取INI文件,并将信息加入菜单
private void Form1_Load(object sender, EventArgs e)
{
StreamReader sr = new StreamReader(address + "\\Menu.ini");
int i = this.文件ToolStripMenuItem.DropDownItems.Count - 2;
while (sr.Peek() >= 0)
{
ToolStripMenuItem menuitem = new ToolStripMenuItem(sr.ReadLine());
this.文件ToolStripMenuItem.DropDownItems.Insert(i, menuitem);
i++;
menuitem.Click += new EventHandler(menuitem_Click);
}
sr.Close();
}
private void menuitem_Click(object sender, EventArgs e)
{
ToolStripMenuItem menu = (ToolStripMenuItem)sender;
ShowWindows(menu.Text);
}
//自定义方法ShowWindows()用来加载背景图片并显示窗体
public void ShowWindows(string fileName)
{
Image p = Image.FromFile(fileName);
Form f = new Form();
f.MdiParent = this;
f.BackgroundImage = p;
f.Show();
}
private void 关闭所有ToolStripMenuItem_Click(object sender, EventArgs e)
{
//用遍历获取所有子窗体
foreach (Form frm in this.MdiChildren)
{
frm.Close(); //关闭子窗体
}
}
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
扩展:
1:菜单项打开隐藏按钮,菜单不关闭
//菜单点击打开隐藏时不关闭
this.文件ToolStripMenuItem.ShowDropDown();
2:文件夹选项,A事件调用B事件
//调用菜单下的选项点击事件
this.文件ToolStripMenuItem.DropDownItems[3].PerformClick();
(2)从工具箱中向Form1窗体添加MenuStrip控件,同时向窗体添加OpenFileDialog控件。创建一个“文件”主菜单,在其下面创建打开、关闭所有、退出等菜单选项。
(3)代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace HistoryRecord
{
public partial class Form1 : Form
{
//string address;
public Form1()
{
InitializeComponent();
//address = System.Environment.CurrentDirectory;
}
//相对路径
string address = System.Environment.CurrentDirectory;
//将打开的路径写入到INI文件
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
openFileDialog1.FileName = "";
this.openFileDialog1.ShowDialog();
StreamWriter s = new StreamWriter(address + "\\Menu.ini", true);//true:
s.WriteLine(openFileDialog1.FileName);//写入INI文件
s.Flush();//清空缓存数据,并将缓存数据写入基础流
s.Close();
}
//读取INI文件,并将信息加入菜单
private void Form1_Load(object sender, EventArgs e)
{
StreamReader sr = new StreamReader(address + "\\Menu.ini");
int i = this.文件ToolStripMenuItem.DropDownItems.Count - 2;
while (sr.Peek() >= 0)
{
ToolStripMenuItem menuitem = new ToolStripMenuItem(sr.ReadLine());
this.文件ToolStripMenuItem.DropDownItems.Insert(i, menuitem);
i++;
menuitem.Click += new EventHandler(menuitem_Click);
}
sr.Close();
}
private void menuitem_Click(object sender, EventArgs e)
{
ToolStripMenuItem menu = (ToolStripMenuItem)sender;
ShowWindows(menu.Text);
}
//自定义方法ShowWindows()用来加载背景图片并显示窗体
public void ShowWindows(string fileName)
{
Image p = Image.FromFile(fileName);
Form f = new Form();
f.MdiParent = this;
f.BackgroundImage = p;
f.Show();
}
private void 关闭所有ToolStripMenuItem_Click(object sender, EventArgs e)
{
//用遍历获取所有子窗体
foreach (Form frm in this.MdiChildren)
{
frm.Close(); //关闭子窗体
}
}
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
扩展:
1:菜单项打开隐藏按钮,菜单不关闭
//菜单点击打开隐藏时不关闭
this.文件ToolStripMenuItem.ShowDropDown();
2:文件夹选项,A事件调用B事件
//调用菜单下的选项点击事件
this.文件ToolStripMenuItem.DropDownItems[3].PerformClick();
相关文章推荐
- winform 菜单项显示历史记录 分类: WinForm 2014-07-11 18:15 196人阅读 评论(0) 收藏
- .NET Winform程序实现让TEXTBOX显示历史输入记录
- 采购订单历史记录显示(转)
- 怎样保住稳私?不显示文档历史记录?
- 显示商品历史浏览记录
- win8系统如何让任务栏不显示最近打开项目(浏览的历史记录)
- 如何使input双击时不显示历史记录
- 如何消除TextBox框中显示的历史记录?
- MS Sql Server 作业编辑报错以及不显示历史记录
- 如何使input双击时不显示历史记录
- 禁止输入框显示用户历史输入历史记录
- 让input表单不显示历史记录
- C# :WinForm TextBox猜想输入和历史记录输入
- 如何让ie8地址栏下拉框里不显示历史记录和收藏夹
- 如何消除TextBox框中显示的历史记录?
- 如何消除TextBox框中显示的历史记录?
- 解决Winform窗体中右键菜单项不显示的问题
- 如何使input双击时不显示历史记录
- C# WinForm TextBox猜想输入和历史记录输入(源码)
- 用$.cookie()来存历史浏览记录,并且显示出来