• 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?

+1 głos
140 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 Mędrzec (172,250 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ź 123 wizyt
0 głosów
1 odpowiedź 242 wizyt
0 głosów
1 odpowiedź 364 wizyt
pytanie zadane 30 listopada 2017 w C# przez Rekus Użytkownik (500 p.)

88,364 zapytań

136,964 odpowiedzi

305,691 komentarzy

58,632 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...