十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
ToolStripMenuItem.ShortcutKeys 属性
成都创新互联服务项目包括建华网站建设、建华网站制作、建华网页制作以及建华网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,建华网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到建华省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
获取或设置与 ToolStripMenuItem 关联的快捷键。
使用 ShortcutKeys 属性可以将组合键分配给菜单命令,例如,将 Ctrl+C 分配给“复制”命令。 您可以使用快捷键而不使用访问键,也可以同时使用快捷键和访问键,访问键是菜单或菜单项中与 Alt 键一起使用的带下划线的字母。 通过在要用于访问键的字母前面键入一个“and”符 (),可以在代码中定义访问键。
工具箱里有ContextMenu(.NET2.0以后名字有点变化,大概差不多),你加入窗体后就可以像编辑普通菜单那样编辑。
编辑好后,选中你要添加菜单的控件。属性窗口里有个ContextMenu属性,在里面选你刚才建立的ContextMenu
微软在出VS2005的时候强化了数据处理这块,使的和2003的控件方法区别有些大,2005是一大败笔只是一个过渡版本,建议在无特殊要求下用2003.等到2008微软会出相应的版本,到时再换也不迟
不清楚热键和快捷键是什么区别
1.如果你是指Chrl+S这样的快捷键,可以设置ShortCutKeys属性,属性窗口就有可视化编辑器。
2.如果你是指"保存(S)",其中s有下划线这样的用Alt+字母来访问的设置,应该在菜单项的Text属性中使用符号。符号后面的字母将被作为快速访问字符,显示的时候不会被显示出来,而字母会自动加上下划线。比如"保存(s)"。
3.和选中标记有关的属性有两个
CheckOnClick 在菜单项上单击时是否改变Checked属性
Checked 设置/获取 菜单项是否被选中
4.设置菜单项的Enabled属性为False
添加:(先在加一个contextMenu,再它的添加子菜单的click事件编程)
Try
’使TreeView可以被编辑
TreeView1.LabelEdit = True
‘判断你是不是选定的是不可编辑的节点,我这里工种节点不可以被编辑,只有工种下级的
各个工种名称可以被编辑
If Trim(TreeView1.SelectedNode.Text) = "工种" Then
‘添加节点
AddNode = New TreeNode("请输入新工种名字")
TreeView1.SelectedNode.Nodes.Add(AddNode)
TreeView1.ExpandAll()
AddNode.BeginEdit()
TreeView1.LabelEdit = True
NodeAdded = True
End If
Catch err As Exception
MsgBox(err.ToString)
End Try
删除与添加类似,只是如果你的节点名字从其他处(如数据库)得来,那么你还需要更新数据库
编辑:
Private Sub TreeView1_BeforeLabelEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.NodeLabelEditEventArgs) Handles TreeView1.BeforeLabelEdit
TreeView1.LabelEdit = True ‘使可以编辑
AddNode = TreeView1.SelectedNode
End Sub
Private Sub TreeView1_AfterLabelEdit(ByVal sender As Object, ByVal e As System.windows.Forms.NodeLabelEditEventArgs) Handles TreeView1.AfterLabelEdit
Try
‘此时你改完了节点名字
TreeView1.SelectedNode.EndEdit(True)
If e.Label Is Nothing Then
'do nothing
ElseIf e.Node.Text = "工种" Then ‘工种不能改
e.CancelEdit() = True
‘e.Node.Text ,e.Label.ToString 一个是改前的名字一个是该后的名字,具体哪个对
哪个请查MSDN
ElseIf Trim(e.Node.Text) "工种" And e.Node.Text e.Label.ToString Then
If MsgBox("此操作会导致当前工种中的所有人员的工种都被更改,是否确定?", MsgBoxStyle.YesNo + MsgBoxStyle.Information, "警告") = MsgBoxResult.Yes Then
。。。。 ‘我的更改
MsgBox("更改成功!", MsgBoxStyle.OKOnly, "提示")
'Call InitTree() ‘有时要重新把treeview初始化一遍,视需求定
End If
End If
Catch err As Exception
MsgBox(err.ToString)
End Try
End Sub
其他:
挡treeview得到焦点时你可以使用ContextMenu,反之ContextMenu禁用
Private Sub TreeView1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView1.GotFocus
TreeView1.ContextMenu = ContextMenu1
End Sub
Private Sub TreeView1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView1.LostFocus
TreeView1.ContextMenu = Nothing
End Sub
注意:这里没有在ContextMenu菜单添加“更改”项,而是直接更改:即左键单击节点表示
选中,再单击一下就可以编辑了,更改之后单击他处就完成更改,和你在windows中更改文
件名字相似。