WinForm设计之菜单控制

王朝system·作者佚名  2006-11-30
窄屏简体版  字體: |||超大  

Author:水如烟

这个你不一定用到它,但有时候会用到它。比如,应用插件的时候,或者按角色权限配置菜单的时候。

使用它是相当简单,首先设计好菜单,然后保存了一个文件。使用时主程序MainForm加载菜单文件,绑定事件,就OK了。

你可以在保存菜单时附加密码,主程序加载菜单时要求验证密码,这样来保证菜单文件的完整性。由于加密方法各有方法,所以在此我没有具体实现,只给出一个空函数。

代码比较多,用上了以前的树和自联表的有关类,也对它进行了充实。代码会贴在辅助类代码和应用类代码专题。

先看菜单设计的界面,是这样的:

默认菜单是存于一个文本文件嵌为资源,加载后,是这样的:

现在,只取几项菜单,更新后存到一个"Test.mnu"文件去。同时也复制事件代码到测试的MainForm去。

测试窗体MainForm代码:

Imports lzmtw.uSystem.uWindows.uForms

Public Class MainForm

Dim m As LzmTW.uSystem.uWindows.uForms.uMainForm.Menu.MenuManager

Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim mMenuStrip As New MenuStrip

Me.Controls.Add(mMenuStrip)

m = New LzmTW.uSystem.uWindows.uForms.uMainForm.Menu.MenuManager(mMenuStrip)

'读菜单文件

m.ReadFile("Test.mnu")

'绑定默认的Click事件

m.AddDefaultClickHandler()

End Sub

Protected Overridable Sub OnNewClick(ByVal sender As System.Object, ByVal e As System.EventArgs) ' New

MsgBox("New")

End Sub

Protected Overridable Sub OnOpenClick(ByVal sender As System.Object, ByVal e As System.EventArgs) ' Open

MsgBox("Open")

End Sub

Protected Overridable Sub OnCloseClick(ByVal sender As System.Object, ByVal e As System.EventArgs) ' Close

MsgBox("Close")

End Sub

Protected Overridable Sub OnConfigClick(ByVal sender As System.Object, ByVal e As System.EventArgs) ' Config

MsgBox("Config")

End Sub

Protected Overridable Sub OnAboutClick(ByVal sender As System.Object, ByVal e As System.EventArgs) ' About

MsgBox("About")

End Sub

End Class

效果:

由于代码比较多,我分两天贴,要不,BLOG首页的全是我的链接了,会影响别人的情绪.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航