http://i.stack.imgur.com/DpO5L.jpg http://i.stack.imgur.com/S9XL4.jpg添加到列表框中的另一種形式
我怎麼走,從形式1中的信息,並將其添加到窗體2嗎?
的形式1我有很多文本框,幾個組合框和其他的東西,我想這些項目添加到列表框中形式2.
這是我有什麼,但它不工作
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ClassofEmployees
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
class employee
{ //will include the attributes of all employees of your organization.
//fields for employee
public int employeeId; // 5 digit number to represent employee
public int ssn; //social security number of employee
public string name; //employee name
public int dob; //date of birth
public int pay; //rate of pay
}
class managers : employee
{
public string backgroundCheck;
public string isSalary;
public string responsibilitys;
}
public void getEmployeeData(employee employee)
{
try
{
employee.employeeId = int.Parse(EmployeeID.Text);
employee.ssn = int.Parse(SSN.Text);
employee.name = employeeName.Text;
employee.dob = int.Parse(DOB.Text);
employee.pay = int.Parse(pay.Text);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void BCToString()
{
string bcSelectedY;
string bcSelectedN;
if (bcselect.SelectedIndex != 1)
{
bcSelectedY = bcselect.SelectedItem.ToString();
}
else
{
bcSelectedN = bcselect.SelectedItem.ToString();
}
}
public void getMangerData(managers managers)
{
if (bcselect.SelectedIndex != 1)
{
managers.backgroundCheck = "yes";
}
else
{
managers.backgroundCheck = "no";
}
if (salary.SelectedIndex != 1)
{
managers.isSalary = "Yes";
}
else
{
managers.isSalary = "No";
}
managers.responsibilitys = responsibilitys.Text;
}
public void add_Click(object sender, EventArgs e)
{
//create new employee object
employee newemployee = new employee();
//get employee data
getEmployeeData(newemployee);
//create new manager object
managers newmanagerialemployee = new managers();
getMangerData(newmanagerialemployee);
EmployeeCumalitveList.employeeList.Items.Add(employee);
}
private void done_Click(object sender, EventArgs e)
{
EmployeeCumalitveList ecl = new EmployeeCumalitveList
ecl.Show;
this.Hide();
}
}
}
這就是錯誤是:
EmployeeCumalitveList.employeeList.Items.Add(employee);
我得到的錯誤是:
錯誤1新的表達式需要(),[]或{} 類型C:\ Users \ T-Ali \ Desktop \ SHawnasschool \ vb.net 2 c#\ projects \ ClassofEmployees \ ClassofEmployees \ Form1.cs 108個66 ClassofEmployees
錯誤2可訪問性不一致:參數類型 'ClassofEmployees.Form1.employee' 比方法更少可訪問 'ClassofEmployees.Form1.getEmployeeData(ClassofEmployees.Form1.employee)' C:\用戶\ T-阿里\ Desktop \ SHawnasschool \ vb.net c#\ projects \ ClassofEmployees \ ClassofEmployees \ Form1.cs 42 21職員類別
錯誤3可訪問性不一致:參數類型 'ClassofEmployees.Form1.managers' 比方法 'ClassofEmployees.Form1.getMangerData(ClassofEmployees.Form1.managers)' C不易接近:\用戶\ T-阿里\桌面\ SHawnasschool \ VB .NET C#\項目\ ClassofEmployees \ ClassofEmployees \ Form1.cs中70個21 ClassofEmployees
是列表框是公共的形式2.爲什麼我會使用所有上面的代碼是什麼每個目的是什麼?在我的教科書中,我對C#不熟悉,例如他們沒有任何關於第二個表單是靜態的。 –
正如我所說,員工表格*必須是靜態的。爲什麼?因爲以這種方式思考靜態:靜態類是一個類,每次都是同一個類。每次你做'新的EmployeeCumalitveList()',你會得到一個空表的新表單。但是,如果它是靜態的,則您使用相同的列表具有相同的表單。 上面的代碼生成一個靜態EmployeeCumalitveList,以便員工列表保持您想要的位置。從方法外部調用局部變量是沒有辦法的,所以你必須做一個靜態的變量。 (局部變量是在方法中聲明的,例如'done_Click'中的'ecl'。) – Dave
我不確定它在你的教科書中寫了什麼,但就像我說過的,沒有辦法調用相同的局部變量幾種方法。你必須把它變成靜態的。雖然,你不必把它放在Program.cs中。我只是把它放在那裏,因爲這是一種習慣。 – Dave