c#在窗体程序中输入学生数量 然后确定显示请输入第几个的学生名字写到数组中 怎么实现

c#在窗体程序中输入学生数量 然后确定显示请输入第几个的学生名字写到数组中 怎么实现,第1张

看你窗体设计,应该是想分别输入学生姓名,然后"确定"保存姓名,之后点击"已登记学生"显示所有已登记的信息吧?既然用Winform建议就不用console那个思路,建议改成如下:

using System

using System.Collections.Generic

using System.Windows.Forms

namespace WindowsForms

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent()

            label1.Text = "请输入第1个学生的姓名:"//label1是你那个输入学生数量的标签

        }

        private List<string> names = new List<string>()

        

        /// <summary>

        /// "确定"按钮事件

        /// </summary>

        private void button1_Click(object sender, EventArgs e)

        {

            string name = textBox1.Text.Trim()

            names.Add(name)

            label1.Text = $"请输入第{names.Count + 1}个学生的姓名:"

        }

        /// <summary>

        /// "已登记学生"按钮事件

        /// </summary>

        private void button2_Click(object sender, EventArgs e)

        {

            MessageBox.Show($"已登记的学生姓名为:{string.Join(",",names)}")

        }

    }

}

执行效果:

如果真要按着先输入学生总数,再显示"请输入第几个的学生名字"这种设计,需要在窗体上再加一个TextBox控件用以接受学生名信息,再加个按钮用以保存学生名进数组,winform用控件来显示或保存值,而不是for循环+Readline这种方式,这样是Console采用的。那个窗口应该是下面这样的。

记得把names这个数组不要放在Click事件里,否则无法保存下来的。有问题再问吧

你活着的目的就是为了实现?

人吃饭能饱,吃草一样能饱,为什么不去吃草?

如果不用实体类,你喜欢用什么?DataSet?

首先DataSet属于弱类型,这意味着无论何时从 DataSet 中检索值,值都以 System.Object 的形式返回,你需要对这种值进行转换。不幸的是,失败不是在编译时发生,而是在运行时发生.

还有,DataSet缺少抽象,开发人员必须了解其基础架构.这是和实体类无法相比的.

最后,我们要追求面向对象.于是就有了实体类的使用,有人总结了其优点:

1、可以让我们利用继承和封装等OO技术;

2、可以添加自定义行为;

3、属于强类型,可以获得代码自动完成功能(IntelliSense);

4、属于强类型,不太需要容易出错的强制类型转换。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11623817.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存