• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C#, Winforms - Jak przekazać zmienne z innej klasy do listBox w MainWindow?

Object Storage Arubacloud
+1 głos
636 wizyt
pytanie zadane 20 kwietnia 2021 w C# przez Trotylson Nowicjusz (210 p.)
edycja 20 kwietnia 2021 przez Trotylson

Hej, mam 3 klasy (klasę MainWindow zwaną Form1, klasę Window zwaną Form2 - gdzie przypisuję wartości do zmiennych oraz klasę Product w której są te zmienne przechowywane). W klasie MainWindow mam listBox, do którego chcę przekazać przypisane zmienne z klasy Window po wykonaniu instrukcji będącej pod przyciskiem. Czy jest jakaś możliwość wywołania listBox'u MainWindow w innej klasie? Czy może nie tędy droga i jest jakiś inny sposób na przekazanie zmiennych do listBox'a? Oczywiście jestem świadomy, że utworzenie nowego obiektu MainWindow w innej klasie nic mi nie da.

public partial class Form1 : Form
    {
        Form2 fileAdd;
        Product product;
        public Form1()
        {
            InitializeComponent();
            fileAdd = new Form2();
        }
        public void actualizationButton_Click(object sender, EventArgs e)
        {
            product = new Product();
            product.Name = objectBox.Text;
            fileAdd.Show(); // launches the window to adding a new item
        }
     }
public partial class Form2 : Form
    {
        Product product;
        public Form2()
        {
            InitializeComponent();
            product = new Product();
        }
        private void fileProductAddButton_Click(object sender, EventArgs e)
        {
            if (product.Name == product.Name && product.Reference != "")
            {
                product.Name = fileNameTextBox.Text;
                product.Code = fileCodeTextBox.Text;
                product.Reference = fileReferenceTexBox.Text;
                product.Manufacturer = fileManufacturerTextBox.Text;

                MessageBox.Show("Added " + product.Name + " with reference " + product.Reference +
                    "\nManufacturer " + product.Manufacturer + "\nQuantity " + product.Quantity);
                this.Close();
            }
            else
            {
                MessageBox.Show("Fill in all fields!");
            }
        }
    }
public class Product
    {
        public string Name { get; set; } = "N/A";
        public string Code { get; set; } = "N/A";
        public string Reference { get; set; } = "N/A";
        public string Manufacturer { get; set; } = "N/A";
        public int Quantity { get; set; } = 0;
    }

 

1 odpowiedź

+1 głos
odpowiedź 21 kwietnia 2021 przez VBService Ekspert (253,340 p.)
wybrane 21 kwietnia 2021 przez Trotylson
 
Najlepsza

Może ten post będzie pomocny, był poruszany temat odwoływania się z Form2 do elementu ("kontrolki") znajdującej się w Form1.

1
komentarz 21 kwietnia 2021 przez Trotylson Nowicjusz (210 p.)

Ooo, coś widzę laugh

Form1 = callingForm as Form1;

A w instrukcji button:

Form1.listBox.Items.Add();

Zaraz sobie to wypróbuję i dam znać smiley

1
komentarz 21 kwietnia 2021 przez Trotylson Nowicjusz (210 p.)

@VBService, to działa! laugh yesyes

Serdecznie dziękuję! Jutro jeszcze dokładniej sobie to przeanalizuję laugh

Podobne pytania

0 głosów
1 odpowiedź 196 wizyt
0 głosów
1 odpowiedź 548 wizyt
0 głosów
1 odpowiedź 701 wizyt
pytanie zadane 30 listopada 2017 w C# przez Rekus Użytkownik (500 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...