看的代码越多,写的代码越多,就越是享受这些字符,终于渐渐懂得了那种传闻中的成就感,特别是自己从看不懂然后一步一步学,一个代码一个代码地敲,最后哪怕只是完成了一个小功能,也都是特别自豪的!这种自豪不用告诉别人,自己心里就是特别满足!
代码最美的地方就在于所有的不可能都是有可能的......
显示的功能:
1.通过选择不同的按钮,传递对应的数据到对应的窗口去;
2.选择其他,可以自己输入新的数据在传递。
传递数据,最主要的就是涉及到了公共变量,开始设定一个公共变量,然后大家都用这个数据,这样传递的时候就变得特别方便了,不会你是一个数据,我是一个数据,大家的数据多了就彻底混乱了。
这里我只定义了两个公共变量:ChoicedName和NameType,其中NameType用的是Dictionary,因为这里面有:“中文”、“英文”、“韩语”等等数据,放在Dictionary里特别合适。
插播一句:开始没想过用Dictionary的,开始是遇见enum的难题,上网查的资料,结果后面发现enum适用于静态数据处理和记录,换句话说就是,我这里的“其他名字类型”就没办法自己输入,后来才半路看到了Dictionary的。(另:如果有大神能用enum实现这个功能,麻烦告知,将不胜感激!)
1 class PublicName 2 { 3 public static string ChoicedName; 4 //键和值,键必须是唯一的,而值不需要唯一的 5 public static Dictionary<int, string> NameType = new Dictionary<int, string>(); 6 }
然后就是进入软件时开始选择的窗口
(这里是可以优化的,不用每个都显示加一个语言,只是现在懒得修改了)
1 public partial class ChoiceName : Form 2 { 3 Form1 form1 = new Form1(); 4 5 public ChoiceName() 6 { 7 InitializeComponent(); 8 } 9 10 private void button1_Click(object sender, EventArgs e) 11 { 12 PublicName.NameType.Add(1, "中文"); 13 PublicName.ChoicedName = "中文"; 14 form1.Show(); 15 this.Visible = false; 16 } 17 18 private void button2_Click(object sender, EventArgs e) 19 { 20 PublicName.NameType.Add(2, "英文"); 21 PublicName.ChoicedName = "英文"; 22 form1.Show(); 23 this.Visible = false; 24 } 25 26 private void button3_Click(object sender, EventArgs e) 27 { 28 PublicName.NameType.Add(3, "韩语"); 29 PublicName.ChoicedName = "韩语"; 30 form1.Show(); 31 this.Visible = false; 32 } 33 34 private void button4_Click(object sender, EventArgs e) 35 { 36 PublicName.NameType.Add(4, "法语"); 37 PublicName.ChoicedName = "法语"; 38 form1.Show(); 39 this.Visible = false; 40 } 41 42 private void button5_Click(object sender, EventArgs e) 43 { 44 OtherName oN = new OtherName(); 45 oN.Show(); 46 this.Visible = false; 47 } 48 }
如果选择的是“其他”,就需要进入自己输入的窗口界面去。
1 public partial class OtherName : Form 2 { 3 public OtherName() 4 { 5 InitializeComponent(); 6 } 7 8 private void button1_Click(object sender, EventArgs e) 9 { 10 PublicName.ChoicedName = textBox1.Text; 11 PublicName.NameType.Add(5, PublicName.ChoicedName); 12 Form1 ending = new Form1(); 13 ending.Show(); 14 this.Close(); 15 } 16 }
最后,不管是“中文”还是“其他”,都要传递数据到Form1,这就体现了公共变量的重要性了,刚刚的数据全部都是ChoicedName,所以,form1直接找ChoicedName就好了!
1 public partial class Form1 : Form 2 { 3 public Form1() 4 { 5 InitializeComponent(); 6 } 7 8 private void Form1_Load(object sender, EventArgs e) 9 { 10 comboBox1.Text = PublicName.ChoicedName; 11 } 12 13 private void button1_Click(object sender, EventArgs e) 14 { 15 Application.Exit(); 16 } 17 }