WinFrom开发小案例。WinFrom开发小案例。

C\

C\

付出条件:

开发条件:

VisualStudio2015

VisualStudio2015

数据库:

数据库:

SQLserver2008

SQLserver2008

先后主界面:

 图片 1

次第主界面:

 图片 2

注释:

注释:

lbl标签:

次中的lbl标签:编号、人数、姓名、性别、请输入而查询的消息,这里他们单独由及了印证来意,所有命名一般为默认,只修改Text文本。

程序中之lbl标签:编号后面的0,他由及了同步表中选中人员之id(编号)
人数后的0,他的企图是天天更新表中终究人数,他们的命名要规范,后面的代码才会编更利于。

lbl标签:

程序中的lbl标签:编号、人数、姓名、性别、请输入而询问的音,这里他们仅仅从至了证实来意,所有命名一般也默认,只修改Text文本。

次第中的lbl标签:编号后面的0,他于及了同步表中当选人员的id(编号)
人数后的0,他的意是天天更新表中究竟人数,他们之命名要正式,后面的代码才能够修更便民。

按钮:

次第中之btn按钮:保存、重置、退出、添加、查询,要惦记实现他们之功用,就得双击他们接下来于里由上代码,才能够致他们功能,这里而顾按钮的命名规范。

按钮:

次第中之btn按钮:保存、重置、退出、添加、查询,要惦记实现他们之力量,就得双击他们接下来在内部由上代码,才会给他们功能,这里要小心按钮的命名规范。

保存按钮功能:

程序运行时,在姓名TextBox文本框中、性别TextBox文本框中,分别输入人员之人名、性别,然后按照保存按钮,人员之信息就给抱到了数据库被。

封存按钮功能:

程序运行时,在姓名TextBox文本框中、性别TextBox文本框中,分别输入人员的真名、性别,然后按保存按钮,人员的信就是吃抱到了数据库中。

运行图:

图片 3

 

运行图:

图片 4

 

保存按钮代码:

                if (checkinput())
                {
                using (SqlConnection con = new SqlConnection(conStr))
                {
                    con.Open();
                    string sql = "insert B(name,sex) values  (@name,@sex)";
                    SqlCommand cmd = new SqlCommand(sql, con);
                    cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                    cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                    int fh = cmd.ExecuteNonQuery();
                    if (fh > 0) MessageBox.Show("添加成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    sj();
                    rs();
                }
            }

此间调用了检测输入的完整性方法:checkinput,如果姓名TextBox文本框或性别TextBox文本框中,姓名没有输入,程序会提示请输入人名,性别从不输入,程序会提示请输入性。

保存按钮代码:

                if (checkinput())
                {
                using (SqlConnection con = new SqlConnection(conStr))
                {
                    con.Open();
                    string sql = "insert B(name,sex) values  (@name,@sex)";
                    SqlCommand cmd = new SqlCommand(sql, con);
                    cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                    cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                    int fh = cmd.ExecuteNonQuery();
                    if (fh > 0) MessageBox.Show("添加成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    sj();
                    rs();
                }
            }

此调用了检测输入的完整性方法:checkinput,如果姓名TextBox文本框或性别TextBox文本框中,姓名没有输入,程序会提示请输入姓名,性别从不输入,程序会提示请输入性。

检测输入的完整性方法代码:

            private bool checkinput()
            {
            if (txtname.Text == null || txtname.Text == "")
            {
                MessageBox.Show("请输入姓名", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtname.Focus();
                return false;
            }
            if (txtsex.Text == null || txtsex.Text == "")
            {
                MessageBox.Show("请输入性别", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtsex.Focus();
                return false;
            }
            return true;
        }

检测输入的完整性方法代码:

            private bool checkinput()
            {
            if (txtname.Text == null || txtname.Text == "")
            {
                MessageBox.Show("请输入姓名", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtname.Focus();
                return false;
            }
            if (txtsex.Text == null || txtsex.Text == "")
            {
                MessageBox.Show("请输入性别", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtsex.Focus();
                return false;
            }
            return true;
        }

信息输入不完全运作效果图:

图片 5

图片 6

保留按钮的代码里还调用了,sj();rs();这简单个点子,sj();这个法从至了刷新长人员之信息及DGV表格中,rs();这个艺术从及了履新lbl人数标签后的数额功能,更新了总人数之多少信息。

信输入不整运作效果图:

图片 7

图片 8

保存按钮的代码里还调用了,sj();rs();这片单道,sj();这个方法从至了刷新长人员之音及DGV表格中,rs();这个主意从及了创新lbl人数标签后的数码功能,更新了究竟人数的多少信息。

新加一个人口运行图:

图片 9

消息输入完添加成,大家看人后的数字是:12,当自家按确定今后,神奇之事体就是生出了!

图片 10

口后的数字12变为了13,这里就是因保存按钮里调用了,rs();这个措施所以才来更新数据的功力

新加一个口运行图:

图片 11

信息输入完添加事业有成,大家看人后的数字是:12,当我本确定下,神奇的事情就生了!

图片 12

人数后的数字12改为了13,这里就是为保存按钮里调用了,rs();这个方法所以才发生创新数据的作用

rs();方法的代码:

            private void rs()
           {
            using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=sa;database=YG"))
            {
                con.Open();
                string sql = "select count(*)from B";
                SqlCommand cmd = new SqlCommand(sql, con);
                object cx = cmd.ExecuteScalar();
                //lblRS.Text = cx.ToString(); 将查询到的结果同步标签
                lblrs.Text = cx.ToString(); //将查询到的结果同步到lbl标签
            }
        }

rs();方法的代码:

            private void rs()
           {
            using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=sa;database=YG"))
            {
                con.Open();
                string sql = "select count(*)from B";
                SqlCommand cmd = new SqlCommand(sql, con);
                object cx = cmd.ExecuteScalar();
                //lblRS.Text = cx.ToString(); 将查询到的结果同步标签
                lblrs.Text = cx.ToString(); //将查询到的结果同步到lbl标签
            }
        }

初保存之人口数,马上便会当DGV表格中找到:

图片 13

及时是因保存按钮代码里调用了,sj();这个方法,将新保存的人口信息更新至了DGV表格中。

乍保存的人手数,马上就是能于DGV表格中找到:

图片 14

这是坐保存按钮代码里调用了,sj();这个艺术,将新保存的人手信息更新到了DGV表格中。

sj();方法的代码:

            private void sj()
            {
            SqlConnection con = new SqlConnection(conStr);//创建连接对象指定连接字符串
            string sql = "select*from B";//sql查询语句
            SqlDataAdapter cx = new SqlDataAdapter(sql, con);//连接数据库并执行sql语句
            DataTable ta = new DataTable();//创建表对象
            cx.Fill(ta);//将查询的内容填充到表对象
            dataGridView1.DataSource = ta;//设置DGV表的数据来源
        }

sj();方法的代码:

            private void sj()
            {
            SqlConnection con = new SqlConnection(conStr);//创建连接对象指定连接字符串
            string sql = "select*from B";//sql查询语句
            SqlDataAdapter cx = new SqlDataAdapter(sql, con);//连接数据库并执行sql语句
            DataTable ta = new DataTable();//创建表对象
            cx.Fill(ta);//将查询的内容填充到表对象
            dataGridView1.DataSource = ta;//设置DGV表的数据来源
        }

保留按钮代码:

                if (checkinput())//调用检测输入的完整性方法
                {
                using (SqlConnection con = new SqlConnection(conStr))//创建连接对象,指定连接字符串
                {
                    con.Open();//打开连接
                    string sql = "insert B(name,sex) values  (@name,@sex)";//SQL语句,在数据库里要执行的操作
                    SqlCommand cmd = new SqlCommand(sql, con);//Cmand命名对象执行操作
                    cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));//指定参数跟对应的数据匹配
                    cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));//指定参数跟对应的数据匹配
                    int fh = cmd.ExecuteNonQuery();//ExecuteNonQuery(),这个方法在执行增、删、改的时候就调用它
                    if (fh > 0) MessageBox.Show("添加成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    sj();//调用这个方法更新DGV表格中的数据
                    rs();//调用这个方法更行lbl总人数的数据
                }
            }

保存按钮代码:

                if (checkinput())//调用检测输入的完整性方法
                {
                using (SqlConnection con = new SqlConnection(conStr))//创建连接对象,指定连接字符串
                {
                    con.Open();//打开连接
                    string sql = "insert B(name,sex) values  (@name,@sex)";//SQL语句,在数据库里要执行的操作
                    SqlCommand cmd = new SqlCommand(sql, con);//Cmand命名对象执行操作
                    cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));//指定参数跟对应的数据匹配
                    cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));//指定参数跟对应的数据匹配
                    int fh = cmd.ExecuteNonQuery();//ExecuteNonQuery(),这个方法在执行增、删、改的时候就调用它
                    if (fh > 0) MessageBox.Show("添加成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    sj();//调用这个方法更新DGV表格中的数据
                    rs();//调用这个方法更行lbl总人数的数据
                }
            }

 SqlCommand对象的老三个章程:

 SqlCommand对象的老三单措施:

ExcuteScalar():

其一艺术才回去查询结果集的第一行第一列

ExcuteScalar():

这个方法就回去查询结果集的率先推行第一排

ExcuteNonQuery():

执行一个SQL语句,返回给影响的行数,这个主意要用来实践对数据库执行长、修改、删除操作

ExcuteNonQuery():

履一个SQL语句,返回给影响的行数,这个方式要用于执行对数据库执行长、修改、删除操作

ExcuteReader():

查询多实行多排

ExcuteReader():

询问多推行大多排

重置按钮的代码:

 

            lblid.Text = "0";//lbl文本默认为0
            txtname.Clear();//将Text文本框的内容清空
            txtsex.Clear();//将Text文本框的内容清空
            txtname.Focus();//设置焦点

 

重置按钮的代码:

 

            lblid.Text = "0";//lbl文本默认为0
            txtname.Clear();//将Text文本框的内容清空
            txtsex.Clear();//将Text文本框的内容清空
            txtname.Focus();//设置焦点

 

运行图:

图片 15

输入好信息后,点击重置按钮就见面清空输入的信

图片 16

运行图:

图片 17

输入好信息后,点击重置按钮就会清空输入的音信

图片 18

 退出按钮的代码:

  Application.Exit();

点击退出后,程序即使会被关。

 退出按钮的代码:

  Application.Exit();

点击退出后,程序就算会为关。

添加按钮代码:

            添加人员 a = new 添加人员();//创建窗体对象
            a.ShowDialog();//以对话框模式弹出
            sj();//调用sj();这个方法来更新添加的人员数据到DGV表格中

这边丰富按钮的功能与保存按钮的职能是近似之,目的都是为着丰富人员数量,只不过我们于此召开了几许代码知识的扩展。

增长按钮代码:

            添加人员 a = new 添加人员();//创建窗体对象
            a.ShowDialog();//以对话框模式弹出
            sj();//调用sj();这个方法来更新添加的人员数据到DGV表格中

此地丰富按钮的效果及保存按钮的效果是近似的,目的都是为抬高人员数,只不过我们以这里举行了少数代码知识的扩展。

运行图:

图片 19

输入的信不完整的讲话,会唤起请输入完的音,这里为得写一个检测输入完整性的不二法门,信息输入完后即使可点击保存了,保存按钮的代码和方面的类似,点击返回按钮后即窗体就会见关闭返回到人口管理主界面。

运行图:

图片 20

输入的消息不完的口舌,会提示请输入完的信,这里呢得勾一个检测输入完整性的道,信息输入完后就是可点击保存了,保存按钮的代码和上面的接近,点击返回按钮后即窗体就见面关闭返回到人员管理主界面。

将SQL数据库中之数量读取到程序的DGV表格中代码:

            private void sj()
            {
            SqlConnection con = new SqlConnection(conStr);//创建连接对象指定连接字符串
            string sql = "select*from B";//sql查询语句
            SqlDataAdapter cx = new SqlDataAdapter(sql, con);//连接数据库并执行sql语句
            DataTable ta = new DataTable();//创建表对象
            cx.Fill(ta);//将查询的内容填充到表对象
            dataGridView1.DataSource = ta;//设置DGV表的数据来源
        }

实在这个方法以前头就是曾经面世过了,当我们新增一个人员之时光,就得调用sj();这个点子来更新DGV表格中之数据。

以SQL数据库被的数量读取到程序的DGV表格中代码:

            private void sj()
            {
            SqlConnection con = new SqlConnection(conStr);//创建连接对象指定连接字符串
            string sql = "select*from B";//sql查询语句
            SqlDataAdapter cx = new SqlDataAdapter(sql, con);//连接数据库并执行sql语句
            DataTable ta = new DataTable();//创建表对象
            cx.Fill(ta);//将查询的内容填充到表对象
            dataGridView1.DataSource = ta;//设置DGV表的数据来源
        }

实际是方式以前头就是已出现过了,当我们新增一个人员之早晚,就得调用sj();这个办法来更新DGV表格中之数据。

查询按钮代码:

            SqlConnection con = new SqlConnection(conStr);//创建连接对象指定连接字符串
            //string sql = "select * from B where name like '%"+ txtcx.Text + "%'";
            string sql = string.Format("select*from B where name like'%{0}%' or sex like'%{1}%' or id like'%{2}%'",txtcx.Text,txtcx.Text,txtcx.Text);//SQL语句根据TextBox输入的查询条件进行模糊查询
            DataTable b1 = new DataTable();//创建表对象
            SqlDataAdapter cx1 = new SqlDataAdapter(sql, con);//连接数据库并执行sql语句
            cx1.Fill(b1);//将查询的内容填充到表对象
            dataGridView1.DataSource = b1;//设置DGV表的数据来源

查询按钮代码:

            SqlConnection con = new SqlConnection(conStr);//创建连接对象指定连接字符串
            //string sql = "select * from B where name like '%"+ txtcx.Text + "%'";
            string sql = string.Format("select*from B where name like'%{0}%' or sex like'%{1}%' or id like'%{2}%'",txtcx.Text,txtcx.Text,txtcx.Text);//SQL语句根据TextBox输入的查询条件进行模糊查询
            DataTable b1 = new DataTable();//创建表对象
            SqlDataAdapter cx1 = new SqlDataAdapter(sql, con);//连接数据库并执行sql语句
            cx1.Fill(b1);//将查询的内容填充到表对象
            dataGridView1.DataSource = b1;//设置DGV表的数据来源

运行图:

图片 21

以TextBox文本框中,根据姓查询这里输入了一个:刘
 DGV表格中即会显示有姓刘的人员信息

运行图:

图片 22

当TextBox文本框中,根据姓查询这里输入了一个:刘
 DGV表格中即使见面显所有姓刘的人手信息

运行图:

图片 23

当TextBox文本框中,根据性查询这里输入了一个:男
DGV表格中显了颇具性别也阳的音。

运行图:

图片 24

于TextBox文本框中,根据性查询这里输入了一个:男
DGV表格中显了具有性别也男的信。

 那么功能都多快到了,我们见面发现产生矣增产,却丢了去跟修改的功力!!!

 那么功能还多快到了,我们会意识发矣增产,却丢了去除跟修改的效应!!!

运行图:

图片 25

 

每当此地我们可在DGV表格里加一个上下文菜单,来实现修改和去的法力。

运行图:

图片 26

 

当此我们得在DGV表格里加一个上下文菜单,来落实修改及去的功用。

右键菜单中修改按钮的代码:

            添加人员 a = new 添加人员();//创建窗体对象
            a.Text = "修改人员";//将添加人员的窗体Text文本修改为“修改人员”
            a.Tag = dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();//将选中的数据传递给修改人员窗体
            a.txtname.Text = dataGridView1.SelectedRows[0].Cells["name"].Value.ToString();//DGV表中选中的人员名字传递到修改人员窗体
            a.txtsex.Text = dataGridView1.SelectedRows[0].Cells["sex"].Value.ToString();///DGV表中选中的人员性别传递到修改人员窗体
            a.ShowDialog();//以对话框模式弹出

右键菜单中改按钮的代码:

            添加人员 a = new 添加人员();//创建窗体对象
            a.Text = "修改人员";//将添加人员的窗体Text文本修改为“修改人员”
            a.Tag = dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();//将选中的数据传递给修改人员窗体
            a.txtname.Text = dataGridView1.SelectedRows[0].Cells["name"].Value.ToString();//DGV表中选中的人员名字传递到修改人员窗体
            a.txtsex.Text = dataGridView1.SelectedRows[0].Cells["sex"].Value.ToString();///DGV表中选中的人员性别传递到修改人员窗体
            a.ShowDialog();//以对话框模式弹出

 运行图:

图片 27

改人口之窗体与点击添加按钮弹有底窗体是同一个窗体,这里只不过是故代码修改了窗体的Text文本而已,DGV表中当选的数目也同步到了改人口窗体对应的Text文本框中,在这里我们就待一直改动那些要改的地方就KO了。

 运行图:

图片 28

改人口之窗体与点击添加按钮弹有的窗体是同一个窗体,这里只不过是为此代码修改了窗体的Text文本而已,DGV表中当选的多少吧齐到了修改人口窗体对应的Text文本框中,在此我们惟有待一直改动那些要修改的地方就是KO了。

运行图:

图片 29

运行图:

图片 30

改人口窗体中保留按钮代码:

                    if (checkinput())
                    {
                    if (this.Text == "添加人员")
                    {
                    using (SqlConnection con = new SqlConnection(conStr))
                    {
                        con.Open();
                        string sql = "insert B(name,sex) values  (@name,@sex)";
                        SqlCommand cmd = new SqlCommand(sql, con);
                        cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                        cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                        int fh = cmd.ExecuteNonQuery();
                        if (fh > 0) MessageBox.Show("添加成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.Close();
                    }
                    }
                    else
                    {
                    using (SqlConnection con = new SqlConnection(conStr))
                    {
                        con.Open();
                        //update<修改对象所在表> set < 修改对象 >=< 值 > where < 条件对象 >=< '条件内容' >
                       string sql = "update B set name=@name,sex=@sex where id=@id";
                        SqlCommand cmd = new SqlCommand(sql, con);
                        cmd.Parameters.Add(new SqlParameter("@id", this.Tag.ToString()));
                        cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                        cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                        int fh = cmd.ExecuteNonQuery();
                        if (fh > 0) MessageBox.Show("修改成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.Close();
                    }
                }
            }

改人口被的保存按钮代码,跟点击添加按钮弹来底窗体中保留按钮代码一致,逻辑可能一时不便领悟,多看几方方面面就是熟能生巧了!

修改人口窗体中保留按钮代码:

                    if (checkinput())
                    {
                    if (this.Text == "添加人员")
                    {
                    using (SqlConnection con = new SqlConnection(conStr))
                    {
                        con.Open();
                        string sql = "insert B(name,sex) values  (@name,@sex)";
                        SqlCommand cmd = new SqlCommand(sql, con);
                        cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                        cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                        int fh = cmd.ExecuteNonQuery();
                        if (fh > 0) MessageBox.Show("添加成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.Close();
                    }
                    }
                    else
                    {
                    using (SqlConnection con = new SqlConnection(conStr))
                    {
                        con.Open();
                        //update<修改对象所在表> set < 修改对象 >=< 值 > where < 条件对象 >=< '条件内容' >
                       string sql = "update B set name=@name,sex=@sex where id=@id";
                        SqlCommand cmd = new SqlCommand(sql, con);
                        cmd.Parameters.Add(new SqlParameter("@id", this.Tag.ToString()));
                        cmd.Parameters.Add(new SqlParameter("@name", txtname.Text));
                        cmd.Parameters.Add(new SqlParameter("@sex", txtsex.Text));
                        int fh = cmd.ExecuteNonQuery();
                        if (fh > 0) MessageBox.Show("修改成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.Close();
                    }
                }
            }

改人口吃之保留按钮代码,跟点击添加按钮弹有的窗体中保留按钮代码一致,逻辑可能一时难领悟,多扣几乎全就是熟能生巧了!

右键菜单中去按钮的代码:

                   if (dataGridView1.SelectedRows.Count > 0)
                   {
                   string xz = dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();
                   using (SqlConnection con = new SqlConnection(conStr))
                   {
                    con.Open();
                    string sql = string.Format("delete from B where id='{0}'", xz);
                    SqlCommand cmd = new SqlCommand(sql, con);
                    int fh = cmd.ExecuteNonQuery();
                    if (fh > 0)
                    {
                        MessageBox.Show("删除成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        sj();
                        rs();
                    }
                    else
                    {
                        MessageBox.Show("删除失败!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        sj();
                        rs();
                    }
                }

增加、删、改、查,的代码流程都大致相同:首先创建连接对象指定连接字符串,打开连接、sql语句以数据库里要是举行啊操作(增、删、改、查)、然后创建Command命令对象连接数据库并实施sql语句,定义一个变量来收纳方的回值,增、删、改操作时,调用ExecuteNonQuer这个方式,查询操作时,一般调用的凡ExcuteReader这个法子,要做的操作不同,调用的方式也会见不同,定义变量时也得定义匹配这个主意的变量。

右键菜单中删去按钮的代码:

                   if (dataGridView1.SelectedRows.Count > 0)
                   {
                   string xz = dataGridView1.SelectedRows[0].Cells["id"].Value.ToString();
                   using (SqlConnection con = new SqlConnection(conStr))
                   {
                    con.Open();
                    string sql = string.Format("delete from B where id='{0}'", xz);
                    SqlCommand cmd = new SqlCommand(sql, con);
                    int fh = cmd.ExecuteNonQuery();
                    if (fh > 0)
                    {
                        MessageBox.Show("删除成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        sj();
                        rs();
                    }
                    else
                    {
                        MessageBox.Show("删除失败!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        sj();
                        rs();
                    }
                }

充实、删、改、查,的代码流程都大致相同:首先创建连接对象指定连接字符串,打开连接、sql语句以数据库里如果举行呀操作(增、删、改、查)、然后创建Command命令对象连接数据库并施行sql语句,定义一个变量来接过方式的回到值,增、删、改操作时,调用ExecuteNonQuer这个方法,查询操作时,一般调用的凡ExcuteReader这个办法,要开的操作不同,调用的点子为会不同,定义变量时为得定义匹配这个法的变量。

运行图:

图片 31

图片 32

运行图:

图片 33

图片 34

一个简练的次序案例就是讲解结束了,写这篇博客也非告什么便宜,只是要能带来吃新家一个启迪作用,也许多年后效仿了大多门户语言的大团结,连最初的C#编程语言结构逻辑思考全都忘光了,还足以在博客及回想一下,只要您一直于。

一个简练的先后案例就是讲解了了,写这篇博客也无告什么便宜,只是要会拉动吃新家一个启迪作用,也许多年过后效仿了大多派语言的要好,连最初的C#编程语言结构逻辑思考全都忘光了,还好在博客及回想一下,只要您一直当。

相关文章

admin

网站地图xml地图