Figure 1 Sample of Recognized Cultures
en
|
English
|
|
en-AU
|
English
|
Australia
|
en-CA
|
English
|
Canada
|
en-GB
|
English
|
United Kingdom
|
en-US
|
English
|
United States
|
fr
|
French
|
|
fr-FR
|
French
|
France
|
fr-CA
|
French
|
Canada
|
de
|
German
|
|
de-AT
|
German
|
Austria
|
de-DE
|
German
|
Germany
|
Figure 3 Populating the Culture Explorer TreeView
private void Form1_Load(object sender, System.EventArgs e)
{
TreeNode tempNode;
foreach (CultureInfo CultureX in CultureInfo.GetCultures(Culture
Types.NeutralCultures))
{
tempNode = new TreeNode(CultureX.EnglishName + " [" +
CultureX.Name + "]");
tempNode.Tag = CultureX;
treeView1.Nodes.Add(tempNode);
}
foreach (CultureInfo CultureX in CultureInfo.GetCultures(Culture
Types.SpecificCultures))
{
foreach (TreeNode NodeX in treeView1.Nodes)
{
if (NodeX.Tag.Equals(CultureX.Parent))
{
tempNode = new TreeNode(CultureX.EnglishName + " [" +
CultureX.Name + "]");
tempNode.Tag = CultureX;
tempNode.ForeColor = Color.Gray;
foreach (CultureInfo CultureY in
CultureInfo.GetCultures(CultureTypes.InstalledWin32Cultures))
{
if (CultureY.Equals(CultureX))
{
tempNode.ForeColor = Color.Black;
break;
}
}
NodeX.Nodes.Add(tempNode);
break;
}
}
}
}
Figure 5 Populating the List View
private void treeView1_AfterSelect(object sender, System.Windows.Forms.
TreeViewEventArgs e)
{
CultureInfo selectedCulture;
selectedCulture = (CultureInfo)treeView1.SelectedNode.Tag;
if (selectedCulture.IsNeutralCulture == true)
{
listView1.Items[3].SubItems[1].Text = "Neutral";
for (int x = 4; x <= 10; x++)
listView1.Items[x].SubItems[1].Text = "Neutral Culture";
}
else
{
Thread.CurrentThread.CurrentCulture = selectedCulture;
listView1.Items[3].SubItems[1].Text = "Specific";
listView1.Items[4].SubItems[1].Text = (DateTime.Now).ToShort
DateString();
listView1.Items[5].SubItems[1].Text = (DateTime.Now).ToLong
DateString();
listView1.Items[6].SubItems[1].Text = (DateTime.Now).ToShort
TimeString();
listView1.Items[7].SubItems[1].Text = (DateTime.Now).ToLong
TimeString();
listView1.Items[8].SubItems[1].Text = (35500.75).ToString("n");
listView1.Items[9].SubItems[1].Text = (1750.25).ToString("c");
listView1.Items[10].SubItems[1].Text = (selectedCulture.Calendar.
ToString()).Remove(0,21);
}
listView1.Items[0].SubItems[1].Text = selectedCulture.Name;
listView1.Items[1].SubItems[1].Text = selectedCulture.EnglishName;
listView1.Items[2].SubItems[1].Text = selectedCulture.NativeName;
}
|