-2

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:\Users\T-Ali\Desktop\SHawnasschool\vb.net 2 c#\projects\ClassofEmployees\ClassofEmployees\Form1.cs 42 21 ClassofEmployees

エラー 3 一貫性のないアクセシビリティ: パラメータ タイプ 'ClassofEmployees.Form1.managers' は、メソッド 'ClassofEmployees.Form1.getMangerData(ClassofEmployees.Form1.managers)' よりもアクセスしにくい C:\Users\T-Ali\Desktop\SHawnasschool\vb.net 2 c#\projects\ClassofEmployees\ClassofEmployees\Form1.cs 70 21 ClassofEmployees

4

1 に答える 1

0

まず、リストボックスを公開しましたか?リストボックスを選択し、プロパティ ウィンドウに移動し、Modifiers 項目を見つけて、Public に設定することで、これを行うことができると思います。

次に、従業員のリストを含むフォームが静的であること、および従業員を追加するたびに同じフォームを作成していないことを確認してください。これを行うには:

namespace WindowsFormsApplication1
{
    public static class Program
    {
        public static EmployeeCumalitveList MyEmployeeList;
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            MyEmployeeList = new EmployeeCumalitveList();
            Application.Run(MyEmployeeList);
        }
    }
}
于 2013-07-07T21:09:54.213 に答える