<p > 历史菜单在很多软件中都有用到,如果你现在还不知道什么是历史菜单的话,就请你打开你的word中的"文件"菜单你会发现文件菜单里面有许多使用过的文件名。这些就是被称作历史菜单,他记录了你使用过的一些文件包括文件名,文件地址。但是它不会保存所有使用过的文件,而是只保存一部分,每当有新文件被打开后就会自动更新最早的一个文件。它的好处是可以快速打开上次或上几次没有编辑完的或还需要接着使用的文件。知道了什么是历史菜单之后就可以自己编写一个历史菜单将他放入我们的程序中了。<p > 在vs.net中新建立一个方案,然后添加一个openfiledialog控件,一个button控件,一个mainmenu控件,其中mainmenu控件是一个菜单控件,在它的下面建立5个子菜单。将5个子菜单的Visible属性都设置为false。Text属性设置为空。然后加入下面的代码。(vb.net编写的代码)<p ><ccid_nobr><table width="550" border="1" cellspacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code"><pre><ccid_code>rivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim st As String OpenFileDialog1.ShowDialog() End Sub Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk '请注意MenuItem1是表示主菜单项,所以子菜单项是从MenuItem2开始的。 Dim stfilename As String stfilename = OpenFileDialog1.FileName If MenuItem5.Text <> "" Then MenuItem6.Text = MenuItem5.Text MenuItem5.Text = MenuItem4.Text MenuItem6.Visible = True End If If MenuItem4.Text <> "" Then MenuItem5.Text = MenuItem4.Text MenuItem4.Text = MenuItem3.Text MenuItem5.Visible = True End If If MenuItem3.Text <> "" Then MenuItem4.Text = MenuItem3.Text MenuItem3.Text = MenuItem2.Text MenuItem4.Visible = True End If If MenuItem2.Text <> "" Then MenuItem3.Text = MenuItem2.Text MenuItem3.Visible = True End If MenuItem2.Text = stfielname MenuItem2.Visible = TrueEnd Sub</ccid_code></pre></td></tr></table></ccid_nobr><p > 在初始话的时候将Visible定为false和将text定为空,是为了不显示没有文件名的菜单项。 Button1是用来打开文件对话筐。OpenFileDialog1_FileOk是表示当按下文件对话筐的"确定"按钮后所要执行的语句。<p > 运行如图<p ><img src="http://www.hh010.com/upload_files/article/244/9_9pzeqt132643.jpg"><p > 打开第一个文件时的情况<p ><img src="http://www.hh010.com/upload_files/article/244/9_zixfkm132644.jpg"><p > 打开5个文件时的情况,请注意第一个文件位置的变化<p > (注:在vb.net,win2000中通过)。<p ><center class="name02">(责任编辑: 西门吹雪 )</center><p align="center"></p></p>