各位高手,小弟有两个问题要请教......
1.请问如何把一个枚举里的所有名称和值打印出来?
2.如何将一个键名的名称转成他的KEY码呢?就是例如把"A"转成65.
望高手们可以解答小弟的这两个问题,感激不尽.....
问题点数:50、回复次数:5Top
1 楼jiezhi(风满袖)回复于 2004-09-03 13:01:08 得分 15
enum Days { Saturday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday };
...
Type weekdays = typeof(Days);
foreach ( string s in Enum.GetNames(weekdays) )
Console.WriteLine( "{0,-11}= {1}", s, Enum.Format( weekdays, Enum.Parse(weekdays, s), "d"));
foreach(int i in Enum.GetValues(weekdays ))
Console.WriteLine(i);
Top
2 楼The123(Shall We Dance? :))回复于 2004-09-03 13:01:31 得分 15
using System;
public class EnumTest {
enum Days { Saturday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday };
enum BoilingPoints { Celcius = 100, Fahrenheit = 212 };
[FlagsAttribute]
enum Colors { Red = 1, Green = 2, Blue = 4, Yellow = 8 };
public static void Main() {
Type weekdays = typeof(Days);
Type boiling = typeof(BoilingPoints);
Console.WriteLine("The days of the week, and their corresponding values in the Days Enum are:");
foreach ( string s in Enum.GetNames(weekdays) )
Console.WriteLine( "{0,-11}= {1}", s, Enum.Format( weekdays, Enum.Parse(weekdays, s), "d"));
Console.WriteLine();
Console.WriteLine("Enums can also be created which have values that represent some meaningful amount.");
Console.WriteLine("The BoilingPoints Enum defines the following items, and corresponding values:");
foreach ( string s in Enum.GetNames(boiling) )
Console.WriteLine( "{0,-11}= {1}", s, Enum.Format(boiling, Enum.Parse(boiling, s), "d"));
Colors myColors = Colors.Red | Colors.Blue | Colors.Yellow;
Console.WriteLine();
Console.WriteLine("myColors holds a combination of colors. Namely: {0}", myColors);
}
}
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemenumclasstopic.htmTop
3 楼qifanghcy(菜鸟QiFang)回复于 2004-09-03 13:03:04 得分 0
1.好像没办法打印...
2.参见如下代码:
private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
MessageBox.Show(e.KeyValue.ToString()); //按a键,值为65
}Top
4 楼jiezhi(风满袖)回复于 2004-09-03 13:07:02 得分 10
(int)Keys.ATop
5 楼The123(Shall We Dance? :))回复于 2004-09-03 13:14:51 得分 10
2
(((int)Enum.Parse(typeof(System.Windows.Forms.Keys),"A",true)).ToString())Top




