0

Windows フォームの ContextMenuStrip コントロールに、合計で約 200 の国のリストを表示しようとしています。現在、それらはすべて垂直に表示されているため、リストの下部にある国にスクロールするのに長い待ち時間が生じます。ContextMenuStrip.LayoutStyle プロパティをいじってみましたが、どこにも行きませんでした。誰にもこれに関するヒントがありますか?私もグーグルで検索しましたが、答えが見つかりませんでした。助けてくれてありがとう!

4

2 に答える 2

0

これは実際にはコード関連の回答ではありませんが、大陸ごとに国をグループ化し、サブメニューに表示することを考えましたか? そうすれば、ユーザーはおそらくより早く目的の国にたどり着けるでしょう。大陸別でなければ、おそらく別のグループ分けがより適切でしょうか?

于 2009-08-20T00:12:34.273 に答える
0

コンテキスト メニューでマウス ローラーまたはページ ダウンを使用する方法がわかりません。contextMenuStrip の代わりに、200 か国を含むドック リストボックスを含むフォームを開き、グローバル変数またはパブリック変数を介して選択を返すことができます。Formborderstyle = none は、タイトル バーを取り除きます。コンテキスト メニューのユーザー インターフェイスをより厳密に模倣したい場合は、doubleclick 以外のイベントを使用できます。

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 に答える