我正在尝试让 Windows 窗体 ContextMenuStrip 控件显示国家/地区列表,总共约 200 个。目前它会垂直显示它们,这会导致需要很长时间才能滚动到列表底部附近的国家/地区。我试过弄乱 ContextMenuStrip.LayoutStyle 属性,但它没有让我到任何地方。可能有人对此有任何提示吗?我也搜索了谷歌,但没有找到答案。谢谢你的帮助!
问问题
938 次
2 回答
0
这实际上不是与代码相关的答案,但是您是否考虑过按大陆对国家/地区进行分组并将其显示在子菜单中?这样,用户可能能够更快地到达他们想要的国家。如果不是按大陆,那么也许另一个分组会更合适?
于 2009-08-20T00:12:34.273 回答
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
于 2009-08-20T05:38:55.523 回答