我正在尝试使用Windows窗体ContextMenuStrip控件显示一个国家/地区列表,总共约200个。目前,它们全部垂直显示,这会产生很长的等待时间,以滚动到列表底部附近的国家/地区。我已经尝试搞乱ContextMenuStrip.LayoutStyle属性,但它没有让我到任何地方。可能有人对此有任何提示吗?我也搜索谷歌但没有找到答案。谢谢你的帮助!
答案 0 :(得分:0)
这不是一个与代码相关的答案,但您是否考虑过按大陆分组国家并将其显示在子菜单中?这样,用户可能能够更快地到达他们想要的国家。如果不是大陆,那么也许另一个分组会更合适?
答案 1 :(得分:0)
我不知道如何通过上下文菜单使用鼠标滚轮或向下翻页。您可以打开包含其中包含200个国家/地区的停靠列表框的表单,而不是contextMenuStrip,并通过全局变量或公共变量返回选择。 Formborderstyle = none将摆脱标题栏。如果您希望它更接近地模仿上下文菜单用户界面,则可以使用双击以外的事件。
Public Class Form1
Public selectedCountry As String
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
If e.Button = Windows.Forms.MouseButtons.Right Then Form2.ShowDialog()
End Sub
End Class
Public Class Form2
Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
Form1.selectedCountry = ListBox1.SelectedItem
Me.Close()
End Sub
End Class