Imports System.Collections.Generic
Imports System.Globalization
Public Sub ListCountries(SourceCombo As System.Windows.Forms.ComboBox)
' Iterate the Framework Cultures...
For Each ci As CultureInfo In CultureInfo.GetCultures(CultureTypes.AllCultures)
Dim ri As RegionInfo
Try
ri = New RegionInfo(ci.Name)
Catch
'If a RegionInfo object could not be created don't use the CultureInfo for the country list.
Continue For
End Try
' Create new country dictionary entry.
Dim newKeyValuePair As New KeyValuePair(Of String, String)(ri.EnglishName, ri.ThreeLetterISORegionName)
' If the country is not already in the countryList add it...
If Not countryList.ContainsKey(ri.EnglishName) Then
countryList.Add(newKeyValuePair.Key, newKeyValuePair.Value)
SourceCombo.Items.Add(ri.EnglishName)
End If
Next
SourceCombo.Sorted = True
End Sub
我在表單加載事件中爲每個組合框添加了三個組合框,並將其稱爲上述函數三次。 ,如: listcountries(ComboBox1) listcountries(ComboBox2) listcountries(ComboBox3)以vb.net的形式列出兩個組合框中的所有國家
但第一組合框只列出所有國家和其他兩個是空的。請幫我解決這個問題。
IM使用vb.net 12終極& Windows 7的
謝謝
嗯,你知道這個代碼的工作,因爲它知道如何填充至少一個組合框。我們無法看到無法使用的代碼。在輸出窗口中查找「第一次機會異常」通知。注意[這個令人討厭的Windows 7 bug](http://stackoverflow.com/a/4934010/17034)。 –
你有一個全局字典實例,第二個調用被跳過,因爲字典已被前一個調用填充。但跳過添加到詞典中,您也跳過組合框中的插入。 – Steve
任何替代方法? –