看的代码越多,写的代码越多,就越是享受这些字符,终于渐渐懂得了那种传闻中的成就感,特别是自己从看不懂然后一步一步学,一个代码一个代码地敲,最后哪怕只是完成了一个小功能,也都是特别自豪的!这种自豪不用告诉别人,自己心里就是特别满足!

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

显示的功能:

1.通过选择不同的按钮,传递对应的数据到对应的窗口去;

2.选择其他,可以自己输入新的数据在传递。

传递数据,最主要的就是涉及到了公共变量,开始设定一个公共变量,然后大家都用这个数据,这样传递的时候就变得特别方便了,不会你是一个数据,我是一个数据,大家的数据多了就彻底混乱了。

这里我只定义了两个公共变量:ChoicedName和NameType,其中NameType用的是Dictionary,因为这里面有:“中文”、“英文”、“韩语”等等数据,放在Dictionary里特别合适。

插播一句:开始没想过用Dictionary的,开始是遇见enum的难题,上网查的资料,结果后面发现enum适用于静态数据处理和记录,换句话说就是,我这里的“其他名字类型”就没办法自己输入,后来才半路看到了Dictionary的。(另:如果有大神能用enum实现这个功能,麻烦告知,将不胜感激!)

 class PublicName
{
public static string ChoicedName;
//键和值,键必须是唯一的,而值不需要唯一的
public static Dictionary<int, string> NameType = new Dictionary<int, string>();
}

然后就是进入软件时开始选择的窗口

(这里是可以优化的,不用每个都显示加一个语言,只是现在懒得修改了)

    public partial class ChoiceName : Form
{
Form1 form1 = new Form1(); public ChoiceName()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
PublicName.NameType.Add(, "中文");
PublicName.ChoicedName = "中文";
form1.Show();
this.Visible = false;
} private void button2_Click(object sender, EventArgs e)
{
PublicName.NameType.Add(, "英文");
PublicName.ChoicedName = "英文";
form1.Show();
this.Visible = false;
} private void button3_Click(object sender, EventArgs e)
{
PublicName.NameType.Add(, "韩语");
PublicName.ChoicedName = "韩语";
form1.Show();
this.Visible = false;
} private void button4_Click(object sender, EventArgs e)
{
PublicName.NameType.Add(, "法语");
PublicName.ChoicedName = "法语";
form1.Show();
this.Visible = false;
} private void button5_Click(object sender, EventArgs e)
{
OtherName oN = new OtherName();
oN.Show();
this.Visible = false;
}
}

如果选择的是“其他”,就需要进入自己输入的窗口界面去。

     public partial class OtherName : Form
{
public OtherName()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
PublicName.ChoicedName = textBox1.Text;
PublicName.NameType.Add(, PublicName.ChoicedName);
Form1 ending = new Form1();
ending.Show();
this.Close();
}
}

最后,不管是“中文”还是“其他”,都要传递数据到Form1,这就体现了公共变量的重要性了,刚刚的数据全部都是ChoicedName,所以,form1直接找ChoicedName就好了!

   public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
comboBox1.Text = PublicName.ChoicedName;
} private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
}
}

C#学习笔记-数据的传递(公共变量)以及Dictionary的更多相关文章

  1. C#学习笔记-数据的传递以及ToolStripProgressBar

    代码: 方法一:窗体的代码-->可以直接通过预设的Click事件来实现控制进度条. public partial class Form1 : Form { public Form1() { In ...

  2. Flutter学习笔记(3)--Dart变量与基本数据类型

    一.变量 在Dart里面,变量的声明使用var.Object或Dynamic关键字,如下所示: var name = ‘张三’: 在Dart语言里一切皆为对象,所以如果没有将变量初始化,那么它的默认值 ...

  3. (转)Python学习笔记(1)__name__变量

    Python使用缩进对齐组织代码的执行,所有没有缩进的代码,都会在载入时自动执行.每个文件(模块)都可以任意写一些没有缩进的代码,并在载入时自动执行.为了区分 主执行代码和被调用文件,Python引入 ...

  4. 0013 Java学习笔记-面向对象-static、静态变量、静态方法、静态块、单例类

    static可以修饰哪些成员 成员变量---可以修饰 构造方法---不可以 方法---可以修饰 初始化块---可以修饰 内部类(包括接口.枚举)---可以修饰 总的来说:静态成员不能访问非静态成员 静 ...

  5. Django 学习笔记(四)模板变量

    关于Django模板变量官方网址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.传入普通变量 在hello/Hell ...

  6. typescript学习笔记(一)---基础变量类型

    作为一个前端开发者,学习新技术跟紧大趋势是必不可少的.随着2019年TS的大火,我打算利用一个月的时间学习这门语言.接下来的几篇文章是我学习TS的学习笔记,其中也会掺杂一些学习心得.话不多说,先从基础 ...

  7. [Golang学习笔记] 04 程序实体1 变量声明

    变量声明: Go语言的程序实体包含:变量.常量.函数.结构体和接口,是一门静态类型的编程语言. (在声明变量或常量的时候,需要指定类型,或者给予足够信息是的Go语言能够推导出类型) Go语言变量的类型 ...

  8. Java学习笔记之:Java的变量

    一.介绍 在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: type identifier [ = value][, identifier [= value] ...] ; 格式 ...

  9. [ 原创 ]学习笔记- 数据在Activity之间的传递的情况

    情况一:一个Activity跳转到另一个Activity时,将第一个Activity的数据传递到第二个Activity里面. 分析:当一个界面跳转到另一个界面的同时还要讲数据传递过去,这种情况需要用I ...

随机推荐

  1. 在Windows Server 2012 R2的Hyper-V中设置虚拟机启用增强会话模式

    在Windows Server 2012 R2的Hyper-V中,可以为虚拟机提供一种全新的连接方式,就是“增强会话模式”,它将让您更加方便的对虚拟机进行操作,比如分辨率的调整.设备的加载,最为方便的 ...

  2. js正则表达式中test,exec,match方法的区别

    test test 返回 Boolean,查找对应的字符串中是否存在模式.var str = "1a1b1c";var reg = new RegExp("1." ...

  3. java——获取从控制台输入的数据的方法

    一.使用标准输入串System.in System.in.read();     //一次只读入一个字节数据,但是我们往往希望获得的是一个字符串或者一组数字 二.使用Scanner获得一个字符串或一组 ...

  4. git的使用以及github

    现在公司使用的是svn,然而,技多不压身,现在学习一下github http://blog.csdn.net/llf369477769/article/details/51917557这篇博客总结的很 ...

  5. java正则表达式入门

    http://www.cnblogs.com/jingmoxukong/p/6026474.html 这篇文章写的不错

  6. webapi 中的本地登录

    WebApi 身份验证方式 asp.net WebApi 中有三种身份验证方式 个人用户账户.用户可以在网站注册,也可以使用 google, facebook 等外部服务登录. 工作和学校账户.使用活 ...

  7. Atitit.异常处理 嵌套  冗长的解决方案

    Atitit.异常处理 嵌套  冗长的解决方案 1. 异常处理的需要改进的地方1 2. +异常设计的初衷是, 在程序中出现错误时, 由程序自己处理错误, 尽量不要以exit(0)这种粗暴的方式中止程序 ...

  8. Apache Lucene(全文检索引擎)—搜索

    目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 本项目Demo已上传GitHub,欢迎大家fork下载学习:https://gith ...

  9. 《C#微信开发系列(4)-接收 / 返回文本消息》

    4.0接收 / 返回文本消息 ①接收/返回文本消息原理说明 当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上,着手开发之前先行阅读微信公众平台接收普通消息 ...

  10. 期待已久的2013年度最佳 jQuery 插件揭晓

    让人期待已久的2013年度最佳 jQuery 插件揭晓了.在过去的一年里,有很多很多的 jQuery 插件发布出来,而这里文章列出的这些插件从提供的功能更角度来看是其中的佼佼者.相信这些优秀的 jQu ...