C# 表单数据和类对象
编辑:: 这对一些人来说可能很简单,但现在它让我感到困惑。我正在处理一个项目,当按下提交按钮时,根据上述复选框创建一个人或一名员工。使用构造函数或属性将所有表单数据放入类对象中。使用ToString方法和messagebox显示所有类信息 我的问题是: 当它询问何时按下提交按钮时,根据上述复选框创建一个人或一名员工。我会使用复选框上方或下方的内容吗 还可以使用构造函数或属性将所有表单数据放入类对象中。我不知道该怎么做 使用ToString和messagebox显示所有类信息。我知道如何使用messagebox,但不知道如何使用ToString 现在我已经有了两个类,它们的名字是成员和雇员。在成员项下,我有姓名、年龄和COB。在“员工”项下,我有工资和职称。只有在用户选中“个人员工”复选框时,才会显示工资和职务 我很抱歉,如果我把人搞糊涂了,我自己也有点被问到了。我使用的软件是Microsoft Visual C 2010 到目前为止,我所掌握的代码不知道它是否正确:C# 表单数据和类对象,c#,C#,编辑:: 这对一些人来说可能很简单,但现在它让我感到困惑。我正在处理一个项目,当按下提交按钮时,根据上述复选框创建一个人或一名员工。使用构造函数或属性将所有表单数据放入类对象中。使用ToString方法和messagebox显示所有类信息 我的问题是: 当它询问何时按下提交按钮时,根据上述复选框创建一个人或一名员工。我会使用复选框上方或下方的内容吗 还可以使用构造函数或属性将所有表单数据放入类对象中。我不知道该怎么做 使用ToString和messagebox显示所有类信息。我知道如何使用mes
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.
}
你的问题很模糊,但让我们做很多假设: 您有一个已重命名为“checkEmployess”的复选框。我不确定你的意思是不是“员工”,但我们还是顺其自然吧。 您的表单上有文本框,其中包含用户输入的所有内容以及合理的名称。 目前所有的输入都是文本。 因此,您需要检查是否使用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方法来格式化它们的属性以便显示。这种方法有点粗糙,但会起作用,所以现在就坚持这种方法
然后,您可以进行以下改进:
使用更适合输入类型的输入控件。例如,数字控件和c。
使用对象初始值设定项来构造这些对象。
使用方法正确设置这两种类型对象的显示格式。
我从代码中得到的信息是,您为员工和成员选择了两个类,并且希望根据您的复选框选择将他们的信息存储在相应类的对象中。我想您正在windows窗体中工作,因为您指定了按钮单击事件。 如果是这样的话:
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());
}
}
Winforms?网络表单?WPF?Windows phone?Silverlight?@shan不清楚你想要达到什么目的。请你把问题说清楚一点,这样人们可以更好地帮助你吗?你显然把一些事情搞混了;例如,在Windows窗体应用程序中不使用Console.WriteLine,而且它在显示消息框时肯定不相关。请您重新表述一下您所做的工作,发布每个部分的代码,并给我们完整的作业。好的,我编辑此部分是为了更好地为大家解释。我相信只有当用户点击“提交”按钮时,此部分才与复选框无关。我仍然不清楚您试图实现的目标。你是说,如果用户选中复选框,则将显示包括成员类别信息在内的员工信息,如果未选中复选框,则仅显示成员类别信息。我试图获取的是,如果按下“提交”按钮,根据上述复选框创建个人或员工。使用构造函数或属性将所有表单数据放入类对象中。使用ToString方法和messagebox显示所有类信息。我已经有一个复选框,是用户按下,然后工资和职位出现,用户可以输入该信息。但是如果他们没有选中它,那么它就不存在了。上面的代码应该适用于submit button click事件,如果您需要在选中复选框时显示或启用某些控件,您可以通过创建CheckboxCheckChanged事件来完成此操作。错误:当前上下文中不存在名称“checkbox1_Employees”。当前上下文中不存在名称“checkbox1_Members”。当前上下文中不存在名称“obj”。它也在说新行与这个obj.Age.ToString保持一致;