表单数据和类对象

时间:2012-03-12 12:13:28

标签: c#

EDIT :: 对某些人来说这可能很简单,但现在让我感到困惑。我正在处理一个项目,当按下提交按钮时,根据上面的复选框创建一个人或一个员工。使用构造函数或属性将所有表单数据放入类对象中。使用ToString方法和消息框显示所有类信息。

我的问题是:: 当询问何时按下提交按钮时,根据上面的复选框创建一个人或雇员。我是否使用复选框或下方的内容。

还要使用构造函数或属性将所有表单数据放入类对象中。我不确定该怎么做。

使用ToString和messagebox显示所有类信息。我知道如何使用消息框而不是ToString。

现在我已经有两个类,这些名称是Members和Employees。在会员下我有姓名,年龄和COB。在员工的帮助下我有薪水和职业标准。如果用户选中显示为“员工”的复选框,则唯一的时间是工资和工作提示。

我很抱歉,如果我让别人感到困惑,我自己就会被问到什么。我使用的软件是Microsoft Visual C#2010表达。

到目前为止我的代码不知道它是否正确:

  private void button1_Click(object sender, EventArgs e)
    {
        Members obj = new Members(); <---This is what is I am assuming being asked when
        obj.Name = "";                   its says create either a person or an employee
        obj.Age = "";                    based on the above checkbox.
        obj.COB = "";

        Employess obj1 = new Employess(); <-- here I am trying to put all of the form 
        obj1.Salary = "";                     data into the class object using either
        obj1.JobTitle = "";                   the constructor or properties.




        Console.WriteLine(obj.ToString());<--- this is the messagebox I am being asked to do its not all the way done.


    }

2 个答案:

答案 0 :(得分:0)

你的问题很模糊,但我们做了很多假设:

  1. 您有一个已重命名为“checkEmployess”的复选框。 (我不确定你是否意味着'员工',但让我们继续使用它。)
  2. 您的表单上有文本框,表示用户输入的所有内容都是合理的名称。
  3. 目前所有输入都是正文。
  4. 因此,您需要检查是否使用if语句勾选/选中复选框并创建正确的对象类型:

    private void button1_Click(object sender, EventArgs e)
    {
        object dude; // if you use inheritance then this could be of the base class's type
    
        if (this.checkEmployess.Checked)
        {
            // it's an employess
            Employess employee = new Employess();
            employess.Salary = textSalary.Text; // this copies the value of the control into your object
            employess.JobTitle = textJobTitle.Text; // however for this example we've assumed every control is a text control and your object has only string properties
    
            dude = employess;
        }
        else
        {
            // it's a member
            Members member = new Members();
            member.Name = textName.Text;
            member.Age = textAge.Text; // this in particular should be made numeric
            member.COB = textCOB.Text;
    
            dude = member;
        }
    
        MessageBox.Show(dude);
    }
    

    这是完成的基本对象创建。您可以向这两个类添加ToString方法,以格式化其属性以进行显示。 (这种方法有点粗糙,但现在可以使用,所以现在坚持下去。)

    您可以进行的改进是:

    1. 使用更适合输入类型的输入控件。例如。数字的数字控件,&amp; c。
    2. 使用对象初始值设定项构建这些对象。
    3. 使用方法正确格式化这两种类型的对象以供显示。

答案 1 :(得分:0)

根据我从您的代码中获得的内容,您已经为员工和成员开设了两个课程,并且您希望根据您选中的复选框将他们的信息存储在相应课程的对象中。我想你正在使用windows窗体,因为你已经指定了button_click事件。 如果是这样的话:

private void button1_Click(object sender, EventArgs e)
{
    if(checkbox1_Member.Checked==true)
    {
              Members obj = new Members();
              obj.Name = "";
              obj.Age = "";
              obj.COB = "";
              MessageBox.Show(obj.Name+ " :: " +"obj.Age.ToString());
    }
    else if(checkbox2_Employee.Checked==true)
    {
              Employees obj1 = new Employees();
              obj1.Salary = "";
              obj1.JobTitle = "";             
              MessageBox.Show (obj1.Salary.ToString()+ " ::"+obj.JobTitle.ToString());
    }
}