vb.net中的自定义弹出菜单
我想在vb.net中创建一个自定义控件,它的行为类似于vb6弹出菜单&它的行为类似于表单显示对话框。动态填充弹出菜单&我的O/P仅取决于弹出菜单的点击事件结果 通过使用context menustrip,问题是在调用context menustrip的表单的所有事件之后引发context menustrip的click事件。因此,我无法使用上下文菜单Ustrip itemclicked result在Mainform中继续程序的其余部分 我的主要形式MouseUp叫做 显示鼠标内部的上下文菜单 显示关联菜单条后,主窗体鼠标的下一行继续从ContextMenuStrip_ItemClicked获得的结果 ContextMenuStrip_ItemClicked还有许多其他功能和代码,在它之外是无法替换的 代码:vb.net中的自定义弹出菜单,vb.net,Vb.net,我想在vb.net中创建一个自定义控件,它的行为类似于vb6弹出菜单&它的行为类似于表单显示对话框。动态填充弹出菜单&我的O/P仅取决于弹出菜单的点击事件结果 通过使用context menustrip,问题是在调用context menustrip的表单的所有事件之后引发context menustrip的click事件。因此,我无法使用上下文菜单Ustrip itemclicked result在Mainform中继续程序的其余部分 我的主要形式MouseUp叫做 显示鼠标内部的上下文菜单
有太多未定义的变量,我并不完全清楚你到底想要什么。你想创建一个弹出窗口;通常,您可以使用非常简单的MessageBox或创建一个新表单。我知道你想创建一个新表单,但我没有遇到问题。你是说你不能在两种形式的事件之间移动吗?请告诉弹出窗口中您想要的确切元素,例如menuStrip,它预计何时出现,例如,每次用户单击。。。你面临的确切问题是什么,例如,无法触发此事件……你不能发送包含问题的电子邮件,以便我可以为你解决问题?!请不要再这样做了。如果您需要这里的帮助,请在这里回复并更新您的问题,以便这里的任何人都可以帮助您。这不是一个私人解决我的问题服务提供。重做你的问题,在这里等待帮助。
Private Sub ChangeLayer(ByRef X As Double, ByRef Y As Double, ByRef D As String, ByRef T As Integer)''*****Change Layer Called in MouseUp Event of MainForm
Dim A As String
Dim objDrawingPoint As New Drawing.Point
Dim cms As New ContextMenuStrip
DeleteFlag = False
'A = M_PlaceLayer.Text
A = PlaceOn.Text
If T Then
M_SelLayC(0).Enabled = False : M_SelLayC(1).Enabled = False
M_SelLayS(16).Enabled = False : M_SelLayS(17).Enabled = False
CompLayer(0).Enabled = False : CompLayer(1).Enabled = False
SolderLayer(16).Enabled = False : SolderLayer(17).Enabled = False
End If
'' M_PlaceLayer.Text = StrAnsi(D)
PlaceOn.Text = StrAnsi(D)
m_LayerFlag = False
objDrawingPoint = ViewPicture.PointToClient(Cursor.Position)
With objDrawingPoint
cm_FO.Show(ViewPicture, New Point(.X, .Y))'''**Context MenuStrip Show()
End With
'''''Depends on Result of ItemClicked of cm_FO contextmenustrip below code works
'******************************************************
'Code Below Works with result of Context MenuStrip ItemClicked
'******************************************************
' M_PlaceLayer.Text = StrAnsi(A)
PlaceOn.Text = StrAnsi(A)
If T Then
M_SelLayC(0).Enabled = True : M_SelLayC(1).Enabled = True
M_SelLayS(16).Enabled = True : M_SelLayS(17).Enabled = True
CompLayer(0).Enabled = True : CompLayer(1).Enabled = True
SolderLayer(16).Enabled = True : SolderLayer(17).Enabled = True
End If
'****************************************************
End Sub