1

My.Resources.MyList は、項目のリストを含むテキスト ファイルで、各項目は別の行にあります。例えば...

Green
Red
Black
Orange
etc.

そのリストを配列にソートし、結果をアルファベット順にリストボックスに出力しようとしています。

これが私のコードです...

Dim MyListArray() As String = My.Resources.MyList.Split(Environment.NewLine)
Array.Sort(MyListArray)
MyListBox.DataSource = MyListArray

しかし、これを行うと、リストの最初の項目がソートされません (何らかの理由でリストの最後に表示されます)。つまり、最終結果は次のようになります...

Black
Green
Orange
Red

しかし、代わりに次のように見えます...

Black 
Orange
Red
Green

何か案は?

4

2 に答える 2

2

単語が空の文字で始まったり終わったりしないようにしてください。

MyListArray = MyListArray.Select(Function(a) a.Trim()).ToArray()
于 2013-01-28T21:09:17.817 に答える
2

デフォルトでは、リストボックスのソート属性は false です。だからこれを試してください:

Listbox.Sorted = True

Listbox.TabIndex = 1

参照: http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.sort.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1

于 2013-01-28T21:09:57.457 に答える