C#學習筆記-數據的傳遞(公共變量)以及Dictionary


     看的代碼越多,寫的代碼越多,就越是享受這些字符,終於漸漸懂得了那種傳聞中的成就感,特別是自己從看不懂然后一步一步學,一個代碼一個代碼地敲,最后哪怕只是完成了一個小功能,也都是特別自豪的!這種自豪不用告訴別人,自己心里就是特別滿足!

     代碼最美的地方就在於所有的不可能都是有可能的......

 

 

     顯示的功能:

     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     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM