Cześć,
w moim programie w klasie1 tworzą się obiekty pracownika z różnymi właściwościami (imię, nazwisko itp.). Są one dodawane to listboxa. Następnie, po wybraniu jednego z dostępnych elementów i wciśnięciu opcji edytuj, otwiera się formularz edycji (klasa nr2) gdzie powinna być możliwość dokonywania zmian w obiekcie (formularz pobiera dane z wybranego obiektu i wyświetlają się w odpowiednich textboxach), ale właśnie nie wiem co muszę zrobić, aby to działało w ten sposób. Próbowałem nawet tworzyć, nowy obiekt, ale jest on widoczny tylko z poziomu klasy2. Kod poniżej (oczywiście nie działa tak jak należy):
KLASA 1
``` namespace WindowsFormsApp1
{
public partial class MainWindow : Form
{
public MainWindow()
{
InitializeComponent();
}
public void blad()
{
MessageBox.Show("Wpisano błędny numer pesel. Proszę o poprawienie danych.", "Błędny numer pesel", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
public void MainWindow_Load(object sender, EventArgs e)
{
Pracownik p1 = new Pracownik("Jan", "Kowalski", "12345678901", "Ogrodowa 2","Warszawa", "Asystent", 7500);
listBox1.Items.Add(p1);
}
public void edycja()
{
Pracownik edytowanyuser = listBox1.SelectedItem as Pracownik;
EditEmployeeWindow edycjapracownika = new EditEmployeeWindow();
edycjapracownika.Show();
edycjapracownika.textBox1.Text = edytowanyuser.imie;
edycjapracownika.textBox2.Text = edytowanyuser.nazwisko;
edycjapracownika.textBox3.Text = edytowanyuser.pesel;
edycjapracownika.textBox4.Text = edytowanyuser.pensja.ToString();
edycjapracownika.textBox5.Text = edytowanyuser.stanowisko;
edycjapracownika.textBox6.Text = edytowanyuser.miasto;
edycjapracownika.textBox7.Text = edytowanyuser.ulica;
}
private void button1_Click(object sender, EventArgs e)
{
Pracownik wybrane = listBox1.SelectedItem as Pracownik;
if (wybrane != null)
{
edycja();
}
}
KLASA 2
namespace WindowsFormsApp1
{
public partial class EditEmployeeWindow : Form
{
public EditEmployeeWindow()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MainWindow edytowanyuserform1 = new MainWindow();
Pracownik edytowanyuser = edytowanyuserform1.listBox1.SelectedItem as Pracownik;
edytowanyuser.imie = textBox1.Text;
edytowanyuser.nazwisko = textBox2.Text;
edytowanyuser.pesel = textBox3.Text;
edytowanyuser.pensja = float.Parse(textBox4.Text);
edytowanyuser.stanowisko = textBox5.Text;
edytowanyuser.miasto = textBox6.Text;
edytowanyuser.ulica = textBox7.Text;
}
}
}