WinForms открыть/скрыть окна

Создал библиотеку классов C#, добавил два окна WinForms: Form1 и Form2 Запускается сторонней программой таким образом

namespace NewTestLibrary2
{
    public class Class1
    {
        static Form1 mainform1;
        static Form2 mainform2;
        static Thread threadmainform;
        public Form2 Form_2;

        [DllExport]
        public static void Init()
        {
            if (mainform1 == null)
            {
                threadmainform = new Thread(NewForm1);
                threadmainform.Start();
            }
            if (mainform2 == null)
            {
                threadmainform = new Thread(NewForm2);
                threadmainform.Start();
            }
        }

        [DllExport]
        public static void DeInit(int reason)
        {
            if (reason == 3 || reason == 5) return;
            if (mainform2 != null) { mainform2.Close(); Thread.Sleep(100); }
            if (mainform1 != null) { mainform1.Close(); Thread.Sleep(1000); }
            if (threadmainform != null) threadmainform.Join();
            mainform1 = null;
            mainform2 = null;
            threadmainform = null;
        }

        private static void NewForm1()
        { mainform1 = new Form1(); mainform1.ShowDialog(); }
        private static void NewForm2()
        { mainform2 = new Form2(); mainform2.ShowDialog(); }
    }
}

На окне Form1 есть кнопка.
Как сделать так чтобы при нажатии на кнопку менять видимость Form2?
Нужен конкретный пример. (Я только начал это дело изучать)

код Form1

namespace NewTestLibrary2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //---
        }
    }
}

Ответы (2 шт):

Автор решения: Игорь

За показ и скрытие формы отвечают методы Show и Hide.

Form1 form1 = new Form1();
form1.Show();

form1.Hide(); 
→ Ссылка
Автор решения: Makar X

Решил вопрос так

public bool Form2Visible
{
    get => form2.Visible;
    set => form2.Visible = value;
}
private void label1_MouseDown(object sender, MouseEventArgs e)
{
    if (form2.Visible == true) { form2.Visible = false; label1.Text = "Show";    }
    else { form2.Visible = true; label1.Text = "Hide"; }
}
→ Ссылка