System.Windows.Forms.Form.SetVisibleCore C# (CSharp) Method

SetVisibleCore() private method

private SetVisibleCore ( bool value ) : void
value bool
return void
		protected override void SetVisibleCore(bool value)
		{
			if (value)
				close_raised = false;

			if (IsMdiChild && !MdiParent.Visible) {
				if (value != Visible) {
					MdiWindowManager wm = (MdiWindowManager) window_manager;
					wm.IsVisiblePending = value;
					OnVisibleChanged (EventArgs.Empty);
					return;
				}
			} else {
				is_changing_visible_state++;
				has_been_visible = value || has_been_visible;
				base.SetVisibleCore (value);
				if (value) {
					Application.AddForm (this);
				}
				
				if (value && WindowState != FormWindowState.Normal)
					XplatUI.SendMessage (Handle, Msg.WM_SHOWWINDOW, (IntPtr)1, IntPtr.Zero);
					
				is_changing_visible_state--;
			}
			
			if (value && IsMdiContainer) {
				Form [] children = MdiChildren;
				for (int i = 0; i < children.Length; i++) {
					Form child = children [i];
					MdiWindowManager wm = (MdiWindowManager) child.window_manager;
					if (!child.IsHandleCreated && wm.IsVisiblePending) {
						wm.IsVisiblePending = false;
						child.Visible = true;
					}
				}
			}
			
			if (value && IsMdiChild){
				PerformLayout ();
				ThemeEngine.Current.ManagedWindowSetButtonLocations (window_manager);
			}
			
			// Shown event is only called once, the first time the form is made visible
			if (value && !shown_raised) {
				this.OnShown (EventArgs.Empty);
				shown_raised = true;
			}
			
			if (value && !IsMdiChild) {
				if (ActiveControl == null)
					SelectNextControl (null, true, true, true, false);
				if (ActiveControl != null)
					SendControlFocus (ActiveControl);
				else
					this.Focus ();
			}
		}
Form