Wątek zablokowany 2014-06-13 14:56 przez ŁF.

Odwołanie do buttona z innej klasy

0

Cześć.
Mam problem z odwołaniem się do przycisku z poziomu innej klasy.

public partial class Form1 : Form
    {
        static Class1 c = new Class1();
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            c.ukryj();
        }
    } 
 
    class Class1
    {
        Form1 f = new Form1();
        public void ukryj()
        {
            f.button1.Enabled = false;
        }
    }

Przycisk jest ustawiony na publiczny, program się kompiluje ale przycisk po naciśnięciu się nie ukrywa :/
Trochę czytałem o delegatach i eventach, ale nie potrafiłem tego do końca zastosować. Jakby ktoś mógł przestawić to na tak prostym przykładzie, byłbym wdzięczny :P

0

Problem leży w tym że masz 3 okienka, 2 x Form1 i 1x Class1, Przy czym jedno okno Form1 jest ukryte i to właśnie na tym ukrytym wyłączasz przycisk

0

Raczej nie. Zmieniłem nazwę okna z Form1 na inną, i dalej nie działa jak powinno.

0

Jeśli to jest cały kod to nigdzie nie dajesz Show()
Dodaj coś takiego to zobaczysz co się dzieje

class Class1
    {
        Form1 f = new Form1();
        public Class1()
        { 
            f.Show(); 
        }
        public void ukryj()
        {
            f.button1.Enabled = false;
        }
    }
0

Po naciśnięciu buttona pojawia się drugie takie same okno. A ja chciałbym po prostu ustawić wartość Enabled na false tego buttona.

0
class Class1
    {
        Form1 f;
        public Class1(Form form)
        { 
            f = form;
        }
        public void ukryj()
        {
            f.button1.Enabled = false;
        }
    }

W głównej klasie Class1 c = new Class1(this); wywal to static.

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