Wysyłanie wartości między formami

0

Dobry wieczór,

mam problem z pewnym projektem, otóż chciałbym wykonać program który posiada cztery okienka. Jedno główne do wprowadzania danych(form1) i trzy pozostałe do wyświetlania ich (form2, form3, form4). user image

 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 WindowsFormsApplication666
{
    
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2();
            f2.Show();           
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Form3 f3 = new Form3();
            f3.Show();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            Form4 f4 = new Form4();
            f4.Show();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            Form2 frm = new Form2();
            frm.label1.Text = comboBox1.Text;
        }
    }
}

Monitory 1, 2, 3, powinny być cały czas włączone, a dane dynamicznie zmieniane po naciśnięciu przycisku wyślij przy comboBoxach. Próbowałem to zrobić na zmiennych globalnych, ale z miernym skutkiem. Proszę o pomoc.

1

Próbowałem to zrobić na zmiennych globalnych, ale z miernym skutkiem.

No raczej, bo w C# nie ma zmiennych globalnych...

Zrób to na polach klasy. Czyli zadeklaruj zmienne typu Form2, Form3, Form4 wewnątrz klasy Form1.

Jeśli forma 2 potrzebuje mieć instancję formy 1, możesz ją przekazać w konstruktorze, i trzymać jako pole klasy Form2.
Ale prawidłowo komunikacja między formami powinna być na eventach.

0

Dziękuje za odpowiedz. Wszystko działa jak należy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1