首页 > 解决方案 > 坚持如何将用户输入存储到类中并将其显示到 DataGridView

问题描述

 public partial class Form1 : Form
    {
        private Fleet boatOne;

这就是我运行代码时得到的结果,为什么它不让我显示boatOne?

DataTable dt2 = new DataTable();
            dt2.Columns.Add("Boat Name");
            dt2.Columns.Add("License Number");
            dt2.Columns.Add("Maximum Load");
            dt2.Columns.Add("Fish Species");

            dt2.Rows.Add(new object[] { boatOne.GetboatName(),boatOne.GetboatLicense(),boatOne.GetmaximumLoad()});

此外,对于下面的代码,MaximumLoadTextBox.Text = boatOne.GetmaximumLoad();我收到错误消息“无法将类型 'int' 隐式转换为 'string'”

 private void BoatSubmitButton_Click(object sender, EventArgs e)
        {
            string tempTextBox = BoatNameTextBox.Text;
            string licenseVariable = BoatLicenseTextBox.Text;
            int intVariable = Convert.ToInt32(MaximumLoadTextBox.Text);

            boatOne = new Fleet(tempTextBox, licenseVariable, intVariable);
            BoatNameTextBox.Text = boatOne.GetboatName();
            BoatLicenseTextBox.Text = boatOne.GetboatLicense();
            MaximumLoadTextBox.Text = boatOne.GetmaximumLoad();
        }

我试图让用户输入他们的船只详细信息,当用户点击“提交”时,它存储在不断增长的列表/船队类中,然后可以显示在下面的 DataGridView 中。一旦我弄清楚如何完成这项基本任务,我就可以做其他所有事情,我已经研究了这么多,并且无法得到关于如何在 Windows 窗体中完成的明确答案。

通常在控制台中,用户输入使用 readline 存储在变量中,并且很容易显示在文本框中

在此处输入图像描述

这是舰队类的代码

class Fleet
    {
        string boatName;
        string boatLicense;
        int maximumLoad;

        public Fleet()
        {
            boatName = "N/A";
            boatLicense = "";
            maximumLoad = 0;
        }

        //Constructor
        public Fleet(string name, string license, int maxLoad)
        {
            boatName = name;
            boatLicense = license;
            maximumLoad = maxLoad;
        }
        //Boat Name Method
        public string GetboatName()
        {
            return boatName;
        }
        //Boat License Method
        public string GetboatLicense()
        {
            return boatLicense;
        }
        //Boat Maximum Load Method
        public int GetmaximumLoad()
        {
            return maximumLoad;
        }        
    }

标签: c#winforms

解决方案


这是我的代码——我打错了按钮方法,private void BoatSubmitButton_Click因为打错了几个小时哈哈哈哈哈哈是时候睡觉了

 private void BoatSubmitButton_Click(object sender, EventArgs e)
        {
            string tempTextBox = BoatNameTextBox.Text;
            string licenseVariable = BoatLicenseTextBox.Text;
            string intVariable = MaximumLoadTextBox.Text;

            boatOne = new Fleet(tempTextBox, licenseVariable, intVariable);
            BoatNameTextBox.Text = boatOne.GetboatName();
            BoatLicenseTextBox.Text = boatOne.GetboatLicense();
            MaximumLoadTextBox.Text = boatOne.GetmaximumLoad();

            BoatNameTextBox.Text = "1";
            BoatLicenseTextBox.Text = "1";
            MaximumLoadTextBox.Text = "1";
        }

推荐阅读