C#学习笔记-数据的传递(公共变量)以及Dictiona…
2018-06-23 23:36:56来源:未知 阅读 ()
看的代码越多,写的代码越多,就越是享受这些字符,终于渐渐懂得了那种传闻中的成就感,特别是自己从看不懂然后一步一步学,一个代码一个代码地敲,最后哪怕只是完成了一个小功能,也都是特别自豪的!这种自豪不用告诉别人,自己心里就是特别满足!
代码最美的地方就在于所有的不可能都是有可能的......
显示的功能:
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 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:一种从纹理图片提取多边形的方法
- HTML骨架 2020-06-10
- 转行Web前端工程师要掌握的学习知识汇总 2020-06-10
- 毕业生想学习web前端开发,有什么好的发展方向吗? 2020-06-09
- 转行前端很迷茫,该怎么学习? 2020-06-06
- 前端学习记录 2020-06-05
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash