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     }

 

转载于:https://www.cnblogs.com/Aries-rong/p/5868716.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring webflow : 上传单个文件实例

准备 如果你项目中使用了spring security的话&#xff0c;参考上一篇文章&#xff0c;使用上篇的第二种方法&#xff0c;并去掉MultipartFilter&#xff08;如果有配置的话&#xff09;&#xff0c;否则得不到文件流程中的变量&#xff08;如用var标签定义的变量&#xff09;&…

pythonopencv图像形态_Python+OpenCV图像处理之其他形态学操作

顶帽(Top Hat)&#xff1a;原图像与开操作之间的差值图像&#xff0c;突出原图像中比周围亮的区域黑帽(Black Hat)&#xff1a;闭操作图像与原图像的差值图像, 突出原图像中比周围暗的区域形态学梯度(Gradient)&#xff1a;基础梯度&#xff1a;基础梯度是用膨胀后的图像减去腐…

Spring webflow:上传多个文件

上篇讲了上传单个文件&#xff0c;在上篇的基础上稍作修改就可以上传多个文件了。 实现 首先&#xff0c;实体类要修改&#xff0c;使用List来存储多个文件&#xff1a; Component public class GoodsEntity implements Serializable{private static final long serialVersi…

csv格式清洗与转换python_实例详解Python中 CSV格式清洗与转换

Python中 CSV格式清洗与转换的实例代码题目&#xff1a;CSV格式清洗与转换描述附件是一个CSV格式文件&#xff0c;提取数据进行如下格式转换&#xff1a;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪…

斐波那契数列通项公式

1.对于斐波那契数列来说&#xff0c;存在通项公式&#xff0c;f[n] 2、Hdu练习题1568&#xff1b; 大意求斐波那契数列中的某一项&#xff0c;n很大&#xff0c;只能在O(1)时间求出&#xff0c;并且只要前四位 当n很大时最后一项几乎为零转载于:https://www.cnblogs.com/dlut-l…

Spring MVC 生成文件类型响应

图片控制器代码如下&#xff1a; Controller RequestMapping("/") public class WebController {RequestMapping(methodRequestMethod.GET,path"/img/{imgNo}")public void getImg(HttpServletResponse response,int index) throws IOException{ //读取图…

服务器驱动精灵_驱动精灵真的可以帮你安装驱动吗?别再无脑装驱动了

之前和大家讲过一期安装官方纯净系统的方法&#xff0c;戳我查看然后很多人就说重装之后显卡驱动掉了打游戏卡的跟PPT一样。于是很多人在重装系统或是进行了重大硬件更新后&#xff0c;一般会采用第三方驱动管理软件来进行硬件的更新&#xff0c;实际上这是一种自杀式行为&…

(原创)网吧桌面背景添加文字,转载注明出处!

很简单的小工具&#xff0c;可用于公告等。 下载地址&#xff1a;http://pan.baidu.com/s/1i5dPQTJ 密码&#xff1a;sfw7 博客地址&#xff1a;http://www.cnblogs.com/flybox/ 如有必要&#xff0c;后续可添加功能&#xff1a;远端配置文字内容等&#xff0c;方便多网吧统一…

MongoDB 操作范例

查询 查询嵌套文档 比如&#xff0c;有商品文档goods&#xff0c;结构如下&#xff1a; {"name":"牙刷","class":{"classNo": 111,"name":"日用品"} } 现在要查找所有 classNo111的商品&#xff0c;怎么查&am…

前端vue适配不同的分辨率_前端面试时,被问到项目中的难点有哪些?

在每个前端求职者的面试过程中&#xff0c;一定都有过被面试官问到项目中的难点&#xff0c;而答不上来的情况。为了让大家在前端面试前准备得更加充足&#xff0c;小编准备了一些易被忽视且难度较高的前端面试题&#xff0c;希望可以帮助大家更加顺利完成求职&#xff0c;找到…

web语义化与h5新增标签

Web语义化就是html告诉我们也告诉机器这一块是什么内容&#xff0c;例如&#xff1a;“这行是一个标题&#xff0c;这几行组成一个段落&#xff0c;这是一个列表&#xff0c;那是一个链接。”Web语义化有三个阶段&#xff1a;1、h1~h6、thead、ul、ol等HTML标签。这些标签用于在…

在jsp页面里动态生成EL表达式的key

如图&#xff0c;页面中有n个商品列表需要加载&#xff0c;这个列表的名字分别是list1、list2…listn&#xff0c;总之不是写死的。 在Ctroller里面&#xff0c;可见参数名师动态生成的&#xff1a; RequestMapping(method RequestMethod.GET) public String showIndex(Model…

python做马尔科夫模型预测法_通过Python的Networkx和Sklearn来介绍隐性马尔科夫模型...

Python部落(python.freelycode.com)组织翻译&#xff0c;禁止转载&#xff0c;欢迎转发。文章梗概马尔科夫是何人&#xff1f;马尔科夫性质是什么&#xff1f;马尔科夫模型是什么&#xff1f;是什么让马尔科夫模型成为隐性的&#xff1f;一种能够用于条件检测的马尔科夫模型结论…

给JAVA初学者的50个忠告

给JAVA初学者的50个忠告 摘自: http://wenku.baidu.com/link?urlp5vDKt5bKzUXxG_hAsB9XopHJRROeovOGGh4jnXGZXiUedR-fNOLO7zb6ddENo5UhJTjRS9KdugEBL_7t13Nz5vZnvCmLRbHrwwjfGSi8XC 给JAVA初学者的50个忠告   1.把JAVA当成一门新的语言学习&#xff08;和其他语言没啥关系&a…

换乐网redis应用分析

没听过换乐网&#xff1f;没错&#xff0c;它在我的电脑里 用法用途 在项目中&#xff0c;redis主要用作缓存。而在作为缓存&#xff0c;意义最大的是缓存计算结果&#xff0c;因为有些计算是一个很耗时间和资源的过程&#xff0c;而计算的结果不会经常改变&#xff0c;这时使…

AutoLayout--masonry使用

[label1 mas_makeConstraints:^(MASConstraintMaker *make) { //使左边间距为 make.left.equalTo(self.view.mas_left).offset(11); //顶部间距 make.top.equalTo(self.view.mas_top).offset(70); //高度 make.height.equalTo(30); }]; [label2 mas_makeConstraints:^(MASConst…

matplotlib 热力图_5分钟入门 Seaborn 热力图可视化

Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API封装&#xff0c;从而使得作图更加容易&#xff0c;不需要经过大量的调整就能使你的图变得精致。注&#xff1a;所有代码均在IPy…

换乐网GridFS应用分析

GridFS是MongoDB提供的一种存储大文件的规范&#xff0c;文件在存储的过程中会分成一小块一小块&#xff08;chunks&#xff09;&#xff0c;文件的信息会保存在另外一个集合中。 通过MD5校验过滤重复上传文件 在换乐网中&#xff0c;所有用户上传的文件都会保存在GridFS中: …

JavaWeb学习过程 之c3p0的使用

这几天在学习使用MVC模式来做几个小项目&#xff0c;在学习的过程中&#xff0c;用到了数据库连接池。便特意去学习了一下。 一、谈一谈为什么要使用数据库连接池 在开发基于数据库的web程序时&#xff0c;传统的模式&#xff08;在servlet&#xff0c;beans 中建立数据库链接&…

python爬虫高级项目管理师培训学校_推荐一条高效的Python爬虫学习路径!

如果你仔细观察&#xff0c;就不难发现&#xff0c;懂爬虫、学习爬虫的人越来越多&#xff0c;一方面&#xff0c;互联网可以获取的数据越来越多&#xff0c;另一方面&#xff0c;像 Python这样的编程语言提供越来越多的优秀工具&#xff0c;让爬虫变得简单、容易上手。对于小白…