Problem z UserControl

0

Witam, jestem początkujący w C#, ale w trakcie nauki robię małe postępy.
Mam problem z UserControl, a dokladnie mam:
Form1 - kontrolka toolStrip z dwoma buttonami
UserControl1 - Edytor HTML
UserControl2 - Kurs HTML

Problem polega gdy kliknę na button w toolStrip, który pokazuje edytor html to wszystko jest OK, natomiast gdy na Form1 juz jest UserControl1(edytor html) to UserControl2 pojawia sie pod nim. Sytuacja jest identyczna gdy najpierw wywołam UserControl2(Kurs Html) to UserControl1(Edytor Html) pojawia się pod nim. Jak wykonać by wywołanie UserControl1(Edytor Html) zamykało UserControl2(Kurs Html) i na odwrót?

Kod buttonów (Form1 - toolStrip):

private void HtmlKursToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            UserControl2 pokaz = new UserControl2();
            pokaz.Parent = this;
            pokaz.Show();
            
        }

private void toolStripButton1_Click(object sender, EventArgs e)
        {
            UserControl1 pokaz2 = new UserControl1();
            pokaz2.Parent = this;
            pokaz2.Show();
        }

Pierwszy raz piszę o pomoc w rozwiązaniu problemu w języku C# więc jeśli nie podałem jakiś istotnych danych to proszę napisać jakie mam podać.
Proszę o pomoc w rozwiązaniu mojego problemu, za co z góry dziękuję.

0

Inicjalizuj UserControl'ki w konstruktorze i zrob z nich pola w swojej klasie. Nastepnie po kliknieciu w przycisk sprawdz czy ta druga jest widoczna i jesli tak to ja ukryj ;)

0

Zabardzo tego nie zrozumiałem :(
Czy mógłbyś naprowadzić mnie jakimś kwałkiem kodu?
Gdy próbuj ukryć UserControl Visible i Hide to niestety dalej UserControl wchodzi pod siebie.

0

Dodam iż prosiłbym o kod który zamknie UserControl po kliknięciu na button

0

Przeciągnij na formę 'UserControl1' i 'UserControl2,' nazwij je 'pokaz2' i 'pokaz', ustaw im 'Visible' na false

private void HtmlKursToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            pokaz2.Hide();
            pokaz.Visible = !pokaz.Visible;
        }

private void toolStripButton1_Click(object sender, EventArgs e)
        {
            pokaz.Hide();
            pokaz2.Visible = !pokaz2.Visible;
        }
0

Dziękuję bardzo to pomogło i wszystko działa bez problemu :D

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