public static void Open(Control parent, WordChoice wordChoice, EventHandler <WordChoosenEventArgs> wordChoosen) { // disable the page control foreach (Control control in parent.Controls) { if (control is Page) { control.Enabled = false; } } var msg = new MessageWordChoice(); msg.btnFirstWord.Text = wordChoice.Words[0]; msg.btnSecondWord.Text = wordChoice.Words[1]; msg.btnThirdWord.Text = wordChoice.Words[2]; msg.WordChoosen += wordChoosen; parent.SizeChanged += msg.OnSizeChanged; parent.Controls.Add(msg); msg.Disposed += (s, e) => Msg_Disposed(parent, EventArgs.Empty); msg.OnSizeChanged(parent, EventArgs.Empty); msg.Show(); msg.BringToFront(); }