Всплывающее меню в VB. Net, эквивалентное VB6? - PullRequest
1 голос
/ 11 апреля 2020

В VB6 я использую Редактор меню для хранения списка учеников. например Студенты .... Боб .... Джо .... Билл .... Джеймс

PopupMenu Students

Затем я использовал мастер Visual Studio 2008 для преобразования проекта Vb6 в. NET.

Как заставить это меню работать. Net без особых изменений (если решение включает импорт DLL-файла VB6 в. Net)?

In. Net Студент сейчас:

Public WithEvents Students As System.Windows.Forms.ToolStripMenuItem

Итак, я сделал:

Students.ShowDropDown()

вместо:

PopupMenu Students

И все это работает, кроме местоположения. . net, кажется, заставляет местоположение быть 0,0. И я хотел бы, чтобы при щелчке мыши всплыло меню, как в VB6.

VB. NET Код:

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> Partial Class StudentForm

    Public WithEvents Students As System.Windows.Forms.ToolStripMenuItem
    Public WithEvents John As System.Windows.Forms.ToolStripMenuItem
    Public WithEvents MainMenu1 As System.Windows.Forms.MenuStrip
    Friend WithEvents ContextMenuStrip1 As ContextMenuStrip

    //Initialise Component
    Private Sub InitializeComponent()
        Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
        Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
        Me.ContextMenuStrip1.Size = New System.Drawing.Size(181, 26)
        Me.Students = New System.Windows.Forms.ToolStripMenuItem
        Me.John = New System.Windows.Forms.ToolStripMenuItem
        Me.MainMenu1 = New System.Windows.Forms.MenuStrip
        Me.MainMenu1.SuspendLayout()

        Me.Students.Name = "Students"

        Me.Students.Text = "Students"

        Me.Students.Visible = False

        Me.Students.Checked = False

        Me.Students.Enabled = True


        Me.John.Name = "John"

        Me.John.Text = "Johnny"

        Me.John.Checked = False

        Me.John.Enabled = True

        Me.John.Visible = True

        MainMenu1.Items.AddRange(New System.Windows.Forms.ToolStripItem(){ Me.Students})
        Students.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem(){ Me.John})
        Me.MainMenu1.ResumeLayout(False)
    End Sub
End Class

'MouseUp Event - 
Students.ShowDropDown()' This work well bot the location is 0,0- not sure how to change

' I Also Tried Adding the context menu
ContextMenu1.Items.Add(Students)- ' This does not show with sudents. But it shows if I do `ContextMenu1.Items.Add("Test")`
ContextMenu1.Show()
...