
正文
vb.net动态菜单 vb如何设计菜单
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB.net如何动态创建ContextMenuStrip控件,并写入三个菜单选项,每个选项菜
动态生成vb.net动态菜单的控件vb.net动态菜单: Private Sub UserControl1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Dim myPicture = New System.Windows.Forms.PictureBox() Me.Panel3.Controls.Add(myPicture) myPicture.Size = New System.Drawing.Size(115, 160) myPicture.TabStop = False myPicture.Name = "p" myPicture.Cursor = Cursors.Hand AddHandler myPicture.Click, AddressOf mypic_Click '添加事件 End Sub 处理事件vb.net动态菜单的过程vb.net动态菜单: Private Sub mypic_Click() 'ByVal id As String Dim bookInfo As New BookInfo bookInfo.Show() Me.Parent.Enabled = Fals
相关问答
Q1: VB.net如何动态获取菜单栏中的菜单名并用树型表示
添加:(先在加一个contextMenu,再它vb.net动态菜单的添加子菜单的click事件编程)
Try
’使TreeView可以被编辑
TreeView1.LabelEdit = True
‘判断vb.net动态菜单你是不是选定的是不可编辑的节点vb.net动态菜单,vb.net动态菜单我这里工种节点不可以被编辑,只有工种下级的
各个工种名称可以被编辑
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
删除与添加类似,只是如果你的节点名字从其vb.net动态菜单他处(如数据库)得来,那么你还需要更新数据库
编辑:
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中更改文
件名字相似。
Q2: vb.net怎么制作浮动菜单?用toolbar吗,还是其他的?vs2008怎么找不到toolbar?那里加载?
可以做一个窗体,该窗体中放入你需要的菜单。
这个窗体几个特殊设置:
1。TOPmost设置为TRUE
2。Formborderstyle设置为none
3。showintaskbar设置为False
4。size设置为你的菜单大小
用的时候new一下就有啦!
这样就相当于悬浮窗体了,细节自己研究吧!^_^
Q3: vb.net动态菜单,如何添加事件?
动态生成的控件:
Private Sub UserControl1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim myPicture = New System.Windows.Forms.PictureBox()
Me.Panel3.Controls.Add(myPicture)
myPicture.Size = New System.Drawing.Size(115, 160)
myPicture.TabStop = False
myPicture.Name = "p"
myPicture.Cursor = Cursors.Hand
AddHandler myPicture.Click, AddressOf mypic_Click '添加事件
End Sub
处理事件的过程:
Private Sub mypic_Click() 'ByVal id As String
Dim bookInfo As New BookInfo
bookInfo.Show()
Me.Parent.Enabled = False
Q4: vb.net 动态菜单click事件
先要新建一个index为0的菜单(设置为不可见),然后把动态生产的菜单加入进来,这样就可以使用遍历菜单的方法,并判读下当前按下的菜单名称。
参看:网页链接
Q5: vb.net 动态菜单如何在指定位置添加新项,并添加单击事件?
常见事件有鼠的标单击、双击、移动;
有键盘的键按下、键松开、按键;
有窗体加载、窗体卸载等等。
vb.net动态菜单的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb如何设计菜单、vb.net动态菜单的信息别忘了在本站进行查找喔。





