1 [DefaultEvent("Load"), InitializationEvent("Load"), ComVisible(true), ClassInterface(ClassInterfaceType.AutoDispatch), ToolboxItemFilter("System.Windows.Forms.Control.TopLevel"), ToolboxItem(false), DesignTimeVisible(false), Designer("System.Windows.Forms.Design.FormDocumentDesigner, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(IRootDesigner)), DesignerCategory("Form")] 2 public class Form : ContainerControl 3 { 4 // Fields 5 private Size autoScaleBaseSize; 6 private CloseReason closeReason; 7 private MdiClient ctlClient; 8 private static Icon defaultIcon; 9 private static Icon defaultRestrictedIcon; 10 private DialogResult dialogResult; 11 private static readonly object EVENT_ACTIVATED; 12 private static readonly object EVENT_CLOSED; 13 private static readonly object EVENT_CLOSING; 14 private static readonly object EVENT_DEACTIVATE; 15 private static readonly object EVENT_FORMCLOSED; 16 private static readonly object EVENT_FORMCLOSING; 17 private static readonly object EVENT_HELPBUTTONCLICKED; 18 private static readonly object EVENT_INPUTLANGCHANGE; 19 private static readonly object EVENT_INPUTLANGCHANGEREQUEST; 20 private static readonly object EVENT_LOAD; 21 private static readonly object EVENT_MAXIMIZEDBOUNDSCHANGED; 22 private static readonly object EVENT_MAXIMUMSIZECHANGED; 23 private static readonly object EVENT_MDI_CHILD_ACTIVATE; 24 private static readonly object EVENT_MENUCOMPLETE; 25 private static readonly object EVENT_MENUSTART; 26 private static readonly object EVENT_MINIMUMSIZECHANGED; 27 private static readonly object EVENT_RESIZEBEGIN; 28 private static readonly object EVENT_RESIZEEND; 29 private static readonly object EVENT_RIGHTTOLEFTLAYOUTCHANGED; 30 private static readonly object EVENT_SHOWN; 31 private static Padding FormPadding; 32 private BitVector32 formState; 33 private static readonly BitVector32.Section FormStateAllowTransparency; 34 private static readonly BitVector32.Section FormStateAutoScaling; 35 private static readonly BitVector32.Section FormStateBorderStyle; 36 private static readonly BitVector32.Section FormStateControlBox; 37 private BitVector32 formStateEx; 38 private static readonly BitVector32.Section FormStateExAutoSize; 39 private static readonly BitVector32.Section FormStateExCalledClosing; 40 private static readonly BitVector32.Section FormStateExCalledCreateControl; 41 private static readonly BitVector32.Section FormStateExCalledMakeVisible; 42 private static readonly BitVector32.Section FormStateExCalledOnLoad; 43 private static readonly BitVector32.Section FormStateExInModalSizingLoop; 44 private static readonly BitVector32.Section FormStateExInScale; 45 private static readonly BitVector32.Section FormStateExInUpdateMdiControlStrip; 46 private static readonly BitVector32.Section FormStateExMnemonicProcessed; 47 private static readonly BitVector32.Section FormStateExSettingAutoScale; 48 private static readonly BitVector32.Section FormStateExShowIcon; 49 private static readonly BitVector32.Section FormStateExUpdateMenuHandlesDeferred; 50 private static readonly BitVector32.Section FormStateExUpdateMenuHandlesSuspendCount; 51 private static readonly BitVector32.Section FormStateExUseMdiChildProc; 52 private static readonly BitVector32.Section FormStateExWindowBoundsHeightIsClientSize; 53 private static readonly BitVector32.Section FormStateExWindowBoundsWidthIsClientSize; 54 private static readonly BitVector32.Section FormStateExWindowClosing; 55 private static readonly BitVector32.Section FormStateHelpButton; 56 private static readonly BitVector32.Section FormStateIconSet; 57 private static readonly BitVector32.Section FormStateIsActive; 58 private static readonly BitVector32.Section FormStateIsRestrictedWindow; 59 private static readonly BitVector32.Section FormStateIsRestrictedWindowChecked; 60 private static readonly BitVector32.Section FormStateIsTextEmpty; 61 private static readonly BitVector32.Section FormStateIsWindowActivated; 62 private static readonly BitVector32.Section FormStateKeyPreview; 63 private static readonly BitVector32.Section FormStateLayered; 64 private static readonly BitVector32.Section FormStateMaximizeBox; 65 private static readonly BitVector32.Section FormStateMdiChildMax; 66 private static readonly BitVector32.Section FormStateMinimizeBox; 67 private static readonly BitVector32.Section FormStateRenderSizeGrip; 68 private static readonly BitVector32.Section FormStateSetClientSize; 69 private static readonly BitVector32.Section FormStateShowWindowOnCreate; 70 private static readonly BitVector32.Section FormStateSizeGripStyle; 71 private static readonly BitVector32.Section FormStateStartPos; 72 private static readonly BitVector32.Section FormStateSWCalled; 73 private static readonly BitVector32.Section FormStateTaskBar; 74 private static readonly BitVector32.Section FormStateTopMost; 75 private static readonly BitVector32.Section FormStateWindowState; 76 private Icon icon; 77 private static object internalSyncObject; 78 private Size minAutoSize; 79 private NativeWindow ownerWindow; 80 private static readonly int PropAcceptButton; 81 private static readonly int PropActiveMdiChild; 82 private static readonly int PropCancelButton; 83 private static readonly int PropCurMenu; 84 private static readonly int PropDefaultButton; 85 private static readonly int PropDialogOwner; 86 private static readonly int PropDummyMenu; 87 private static readonly int PropFormerlyActiveMdiChild; 88 private static readonly int PropFormMdiParent; 89 private static readonly int PropMainMenu; 90 private static readonly int PropMainMenuStrip; 91 private static readonly int PropMaximizedBounds; 92 private static readonly int PropMaxTrackSizeHeight; 93 private static readonly int PropMaxTrackSizeWidth; 94 private static readonly int PropMdiChildFocusable; 95 private static readonly int PropMdiControlStrip; 96 private static readonly int PropMdiWindowListStrip; 97 private static readonly int PropMergedMenu; 98 private static readonly int PropMinTrackSizeHeight; 99 private static readonly int PropMinTrackSizeWidth; 100 private static readonly int PropOpacity; 101 private static readonly int PropOwnedForms; 102 private static readonly int PropOwnedFormsCount; 103 private static readonly int PropOwner; 104 private static readonly int PropSecurityTip; 105 private static readonly int PropTransparencyKey; 106 private Rectangle restoreBounds; 107 private Rectangle restoredWindowBounds; 108 private BoundsSpecified restoredWindowBoundsSpecified; 109 private bool rightToLeftLayout; 110 private string securitySite; 111 private string securityZone; 112 private VisualStyleRenderer sizeGripRenderer; 113 private const int SizeGripSize = 0x10; 114 private Icon smallIcon; 115 private string userWindowText; 116 117 // Events 118 [SRCategory("CatFocus"), SRDescription("FormOnActivateDescr")] 119 public event EventHandler Activated; 120 [EditorBrowsable(EditorBrowsableState.Always), SRDescription("ControlOnAutoSizeChangedDescr"), Browsable(true), SRCategory("CatPropertyChanged")] 121 public event EventHandler AutoSizeChanged; 122 [EditorBrowsable(EditorBrowsableState.Always), Browsable(true)] 123 public event EventHandler AutoValidateChanged; 124 [SRCategory("CatBehavior"), EditorBrowsable(EditorBrowsableState.Never), SRDescription("FormOnClosedDescr"), Browsable(false)] 125 public event EventHandler Closed; 126 [SRCategory("CatBehavior"), EditorBrowsable(EditorBrowsableState.Never), SRDescription("FormOnClosingDescr"), Browsable(false)] 127 public event CancelEventHandler Closing; 128 [SRDescription("FormOnDeactivateDescr"), SRCategory("CatFocus")] 129 public event EventHandler Deactivate; 130 [SRCategory("CatBehavior"), SRDescription("FormOnFormClosedDescr")] 131 public event FormClosedEventHandler FormClosed; 132 [SRDescription("FormOnFormClosingDescr"), SRCategory("CatBehavior")] 133 public event FormClosingEventHandler FormClosing; 134 [SRDescription("FormHelpButtonClickedDescr"), EditorBrowsable(EditorBrowsableState.Always), Browsable(true), SRCategory("CatBehavior")] 135 public event CancelEventHandler HelpButtonClicked; 136 [SRDescription("FormOnInputLangChangeDescr"), SRCategory("CatBehavior")] 137 public event InputLanguageChangedEventHandler InputLanguageChanged; 138 [SRCategory("CatBehavior"), SRDescription("FormOnInputLangChangeRequestDescr")] 139 public event InputLanguageChangingEventHandler InputLanguageChanging; 140 [SRDescription("FormOnLoadDescr"), SRCategory("CatBehavior")] 141 public event EventHandler Load; 142 [EditorBrowsable(EditorBrowsableState.Never), Browsable(false)] 143 public event EventHandler MarginChanged; 144 [SRCategory("CatPropertyChanged"), SRDescription("FormOnMaximizedBoundsChangedDescr")] 145 public event EventHandler MaximizedBoundsChanged; 146 [SRCategory("CatPropertyChanged"), SRDescription("FormOnMaximumSizeChangedDescr")] 147 public event EventHandler MaximumSizeChanged; 148 [SRDescription("FormOnMDIChildActivateDescr"), SRCategory("CatLayout")] 149 public event EventHandler MdiChildActivate; 150 [Browsable(false), SRCategory("CatBehavior"), SRDescription("FormOnMenuCompleteDescr")] 151 public event EventHandler MenuComplete; 152 [Browsable(false), SRDescription("FormOnMenuStartDescr"), SRCategory("CatBehavior")] 153 public event EventHandler MenuStart; 154 [SRCategory("CatPropertyChanged"), SRDescription("FormOnMinimumSizeChangedDescr")] 155 public event EventHandler MinimumSizeChanged; 156 [SRDescription("FormOnResizeBeginDescr"), SRCategory("CatAction")] 157 public event EventHandler ResizeBegin; 158 [SRCategory("CatAction"), SRDescription("FormOnResizeEndDescr")] 159 public event EventHandler ResizeEnd; 160 [SRCategory("CatPropertyChanged"), SRDescription("ControlOnRightToLeftLayoutChangedDescr")] 161 public event EventHandler RightToLeftLayoutChanged; 162 [SRCategory("CatBehavior"), SRDescription("FormOnShownDescr")] 163 public event EventHandler Shown; 164 [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] 165 public event EventHandler TabIndexChanged; 166 [EditorBrowsable(EditorBrowsableState.Never), Browsable(false)] 167 public event EventHandler TabStopChanged; 168 169 // Methods 170 static Form(); 171 public Form(); 172 public void Activate(); 173 protected void ActivateMdiChild(Form form); 174 private void ActivateMdiChildInternal(Form form); 175 public void AddOwnedForm(Form ownedForm); 176 [EditorBrowsable(EditorBrowsableState.Advanced)] 177 protected override void AdjustFormScrollbars(bool displayScrollbars); 178 private float AdjustScale(float scale); 179 private void AdjustSystemMenu(); 180 private void AdjustSystemMenu(IntPtr hmenu); 181 internal override void AfterControlRemoved(Control control, Control oldParent); 182 [EditorBrowsable(EditorBrowsableState.Never), Obsolete("This method has been deprecated. Use the ApplyAutoScaling method instead. http://go.microsoft.com/fwlink/?linkid=14202")] 183 protected void ApplyAutoScaling(); 184 internal override Rectangle ApplyBoundsConstraints(int suggestedX, int suggestedY, int proposedWidth, int proposedHeight); 185 private void ApplyClientSize(); 186 internal override void AssignParent(Control value); 187 private void CallShownEvent(); 188 internal override bool CanProcessMnemonic(); 189 internal bool CanRecreateHandle(); 190 internal override bool CanSelectCore(); 191 protected void CenterToParent(); 192 protected void CenterToScreen(); 193 internal bool CheckCloseDialog(bool closingOnly); 194 public void Close(); 195 private Size ComputeWindowSize(Size clientSize); 196 private Size ComputeWindowSize(Size clientSize, int style, int exStyle); 197 [EditorBrowsable(EditorBrowsableState.Advanced)] 198 protected override Control.ControlCollection CreateControlsInstance(); 199 [EditorBrowsable(EditorBrowsableState.Advanced)] 200 protected override void CreateHandle(); 201 private void DeactivateMdiChild(); 202 [EditorBrowsable(EditorBrowsableState.Advanced), SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)] 203 protected override void DefWndProc(ref Message m); 204 protected override void Dispose(bool disposing); 205 private void EnsureSecurityInformation(); 206 private void FillInCreateParamsBorderIcons(CreateParams cp); 207 private void FillInCreateParamsBorderStyles(CreateParams cp); 208 private void FillInCreateParamsStartPosition(CreateParams cp); 209 private void FillInCreateParamsWindowState(CreateParams cp); 210 private static Type FindClosestStockType(Type type); 211 internal override bool FocusInternal(); 212 [Obsolete("This method has been deprecated. Use the AutoScaleDimensions property instead. http://go.microsoft.com/fwlink/?linkid=14202"), EditorBrowsable(EditorBrowsableState.Never)] 213 public static SizeF GetAutoScaleSize(Font font); 214 internal override Size GetPreferredSizeCore(Size proposedSize); 215 [EditorBrowsable(EditorBrowsableState.Advanced)] 216 protected override Rectangle GetScaledBounds(Rectangle bounds, SizeF factor, BoundsSpecified specified); 217 private void InvalidateMergedMenu(); 218 public void LayoutMdi(MdiLayout value); 219 internal void MenuChanged(int change, Menu menu); 220 [EditorBrowsable(EditorBrowsableState.Advanced)] 221 protected virtual void OnActivated(EventArgs e); 222 internal override void OnAutoScaleModeChanged(); 223 protected override void OnBackgroundImageChanged(EventArgs e); 224 protected override void OnBackgroundImageLayoutChanged(EventArgs e); 225 [EditorBrowsable(EditorBrowsableState.Advanced)] 226 protected virtual void OnClosed(EventArgs e); 227 [EditorBrowsable(EditorBrowsableState.Advanced)] 228 protected virtual void OnClosing(CancelEventArgs e); 229 [EditorBrowsable(EditorBrowsableState.Advanced)] 230 protected override void OnCreateControl(); 231 [EditorBrowsable(EditorBrowsableState.Advanced)] 232 protected virtual void OnDeactivate(EventArgs e); 233 [EditorBrowsable(EditorBrowsableState.Advanced)] 234 protected override void OnEnabledChanged(EventArgs e); 235 [EditorBrowsable(EditorBrowsableState.Advanced)] 236 protected override void OnEnter(EventArgs e); 237 [EditorBrowsable(EditorBrowsableState.Advanced)] 238 protected override void OnFontChanged(EventArgs e); 239 [EditorBrowsable(EditorBrowsableState.Advanced)] 240 protected virtual void OnFormClosed(FormClosedEventArgs e); 241 [EditorBrowsable(EditorBrowsableState.Advanced)] 242 protected virtual void OnFormClosing(FormClosingEventArgs e); 243 [EditorBrowsable(EditorBrowsableState.Advanced)] 244 protected override void OnHandleCreated(EventArgs e); 245 [EditorBrowsable(EditorBrowsableState.Advanced)] 246 protected override void OnHandleDestroyed(EventArgs e); 247 [EditorBrowsable(EditorBrowsableState.Advanced)] 248 protected virtual void OnHelpButtonClicked(CancelEventArgs e); 249 [EditorBrowsable(EditorBrowsableState.Advanced)] 250 protected virtual void OnInputLanguageChanged(InputLanguageChangedEventArgs e); 251 [EditorBrowsable(EditorBrowsableState.Advanced)] 252 protected virtual void OnInputLanguageChanging(InputLanguageChangingEventArgs e); 253 protected override void OnLayout(LayoutEventArgs levent); 254 [EditorBrowsable(EditorBrowsableState.Advanced)] 255 protected virtual void OnLoad(EventArgs e); 256 [EditorBrowsable(EditorBrowsableState.Advanced)] 257 protected virtual void OnMaximizedBoundsChanged(EventArgs e); 258 [EditorBrowsable(EditorBrowsableState.Advanced)] 259 protected virtual void OnMaximumSizeChanged(EventArgs e); 260 [EditorBrowsable(EditorBrowsableState.Advanced)] 261 protected virtual void OnMdiChildActivate(EventArgs e); 262 [EditorBrowsable(EditorBrowsableState.Advanced)] 263 protected virtual void OnMenuComplete(EventArgs e); 264 [EditorBrowsable(EditorBrowsableState.Advanced)] 265 protected virtual void OnMenuStart(EventArgs e); 266 [EditorBrowsable(EditorBrowsableState.Advanced)] 267 protected virtual void OnMinimumSizeChanged(EventArgs e); 268 [EditorBrowsable(EditorBrowsableState.Advanced)] 269 protected override void OnPaint(PaintEventArgs e); 270 [EditorBrowsable(EditorBrowsableState.Advanced)] 271 protected override void OnResize(EventArgs e); 272 [EditorBrowsable(EditorBrowsableState.Advanced)] 273 protected virtual void OnResizeBegin(EventArgs e); 274 [EditorBrowsable(EditorBrowsableState.Advanced)] 275 protected virtual void OnResizeEnd(EventArgs e); 276 [EditorBrowsable(EditorBrowsableState.Advanced)] 277 protected virtual void OnRightToLeftLayoutChanged(EventArgs e); 278 [EditorBrowsable(EditorBrowsableState.Advanced)] 279 protected virtual void OnShown(EventArgs e); 280 [EditorBrowsable(EditorBrowsableState.Advanced)] 281 protected override void OnStyleChanged(EventArgs e); 282 [EditorBrowsable(EditorBrowsableState.Advanced)] 283 protected override void OnTextChanged(EventArgs e); 284 [EditorBrowsable(EditorBrowsableState.Advanced)] 285 protected override void OnVisibleChanged(EventArgs e); 286 internal void PerformOnInputLanguageChanged(InputLanguageChangedEventArgs iplevent); 287 internal void PerformOnInputLanguageChanging(InputLanguageChangingEventArgs iplcevent); 288 [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)] 289 protected override bool ProcessCmdKey(ref Message msg, Keys keyData); 290 [EditorBrowsable(EditorBrowsableState.Advanced), UIPermission(SecurityAction.LinkDemand, Window=UIPermissionWindow.AllWindows)] 291 protected override bool ProcessDialogChar(char charCode); 292 [UIPermission(SecurityAction.LinkDemand, Window=UIPermissionWindow.AllWindows)] 293 protected override bool ProcessDialogKey(Keys keyData); 294 [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)] 295 protected override bool ProcessKeyPreview(ref Message m); 296 [UIPermission(SecurityAction.LinkDemand, Window=UIPermissionWindow.AllWindows)] 297 protected internal override bool ProcessMnemonic(char charCode); 298 [UIPermission(SecurityAction.LinkDemand, Window=UIPermissionWindow.AllWindows)] 299 protected override bool ProcessTabKey(bool forward); 300 internal void RaiseFormClosedOnAppExit(); 301 internal bool RaiseFormClosingOnAppExit(); 302 internal override void RecreateHandleCore(); 303 public void RemoveOwnedForm(Form ownedForm); 304 private void ResetIcon(); 305 private void ResetSecurityTip(bool modalOnly); 306 private void ResetTransparencyKey(); 307 private void ResolveZoneAndSiteNames(ArrayList sites, ref string securityZone, ref string securitySite); 308 private void RestoreWindowBoundsIfNecessary(); 309 private void RestrictedProcessNcActivate(); 310 private string RestrictedWindowText(string original); 311 private void ResumeLayoutFromMinimize(); 312 private void ResumeUpdateMenuHandles(); 313 [EditorBrowsable(EditorBrowsableState.Advanced)] 314 protected override void ScaleControl(SizeF factor, BoundsSpecified specified); 315 [EditorBrowsable(EditorBrowsableState.Never)] 316 protected override void ScaleCore(float x, float y); 317 protected override void Select(bool directed, bool forward); 318 private void SelectInternal(bool directed, bool forward); 319 [EditorBrowsable(EditorBrowsableState.Advanced)] 320 protected override void SetBoundsCore(int x, int y, int width, int height, BoundsSpecified specified); 321 [EditorBrowsable(EditorBrowsableState.Advanced)] 322 protected override void SetClientSizeCore(int x, int y); 323 private void SetDefaultButton(IButtonControl button); 324 public void SetDesktopBounds(int x, int y, int width, int height); 325 public void SetDesktopLocation(int x, int y); 326 [EditorBrowsable(EditorBrowsableState.Advanced)] 327 protected override void SetVisibleCore(bool value); 328 [EditorBrowsable(EditorBrowsableState.Never)] 329 internal virtual bool ShouldSerializeAutoScaleBaseSize(); 330 private bool ShouldSerializeClientSize(); 331 private bool ShouldSerializeIcon(); 332 [EditorBrowsable(EditorBrowsableState.Never)] 333 private bool ShouldSerializeLocation(); 334 [EditorBrowsable(EditorBrowsableState.Never)] 335 internal override bool ShouldSerializeSize(); 336 [EditorBrowsable(EditorBrowsableState.Never)] 337 internal bool ShouldSerializeTransparencyKey(); 338 public void Show(IWin32Window owner); 339 public DialogResult ShowDialog(); 340 public DialogResult ShowDialog(IWin32Window owner); 341 private void SuspendLayoutForMinimize(); 342 private void SuspendUpdateMenuHandles(); 343 public override string ToString(); 344 private void UpdateAutoScaleBaseSize(); 345 protected override void UpdateDefaultButton(); 346 internal void UpdateFormStyles(); 347 private void UpdateHandleWithOwner(); 348 private void UpdateLayered(); 349 private void UpdateMdiControlStrip(bool maximized); 350 internal void UpdateMdiWindowListStrip(); 351 private void UpdateMenuHandles(); 352 private void UpdateMenuHandles(MainMenu menu, bool forceRedraw); 353 private void UpdateRenderSizeGrip(); 354 private void UpdateToolStrip(); 355 private void UpdateWindowIcon(bool redrawFrame); 356 private void UpdateWindowState(); 357 [EditorBrowsable(EditorBrowsableState.Always), Browsable(true)] 358 public override bool ValidateChildren(); 359 [EditorBrowsable(EditorBrowsableState.Always), Browsable(true)] 360 public override bool ValidateChildren(ValidationConstraints validationConstraints); 361 private void WmActivate(ref Message m); 362 private void WmClose(ref Message m); 363 private void WmCreate(ref Message m); 364 private void WmEnterMenuLoop(ref Message m); 365 private void WmEnterSizeMove(ref Message m); 366 private void WmEraseBkgnd(ref Message m); 367 private void WmExitMenuLoop(ref Message m); 368 private void WmExitSizeMove(ref Message m); 369 private void WmGetMinMaxInfo(ref Message m); 370 private void WmGetMinMaxInfoHelper(ref Message m, Size minTrack, Size maxTrack, Rectangle maximizedBounds); 371 private void WmInitMenuPopup(ref Message m); 372 private void WmMdiActivate(ref Message m); 373 private void WmMenuChar(ref Message m); 374 private void WmNcButtonDown(ref Message m); 375 private void WmNCDestroy(ref Message m); 376 private void WmNCHitTest(ref Message m); 377 private void WmShowWindow(ref Message m); 378 private void WmSize(ref Message m); 379 private void WmSysCommand(ref Message m); 380 private void WmUnInitMenuPopup(ref Message m); 381 private void WmWindowPosChanged(ref Message m); 382 [EditorBrowsable(EditorBrowsableState.Advanced), SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)] 383 protected override void WndProc(ref Message m); 384 385 // Properties 386 [DefaultValue((string) null), SRDescription("FormAcceptButtonDescr")] 387 public IButtonControl AcceptButton { get; set; } 388 internal bool Active { get; set; } 389 public static Form ActiveForm { get; } 390 [SRDescription("FormActiveMDIChildDescr"), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 391 public Form ActiveMdiChild { get; } 392 internal Form ActiveMdiChildInternal { get; set; } 393 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), SRDescription("ControlAllowTransparencyDescr"), Browsable(false)] 394 public bool AllowTransparency { get; set; } 395 [SRDescription("FormAutoScaleDescr"), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Obsolete("This property has been deprecated. Use the AutoScaleMode property instead. http://go.microsoft.com/fwlink/?linkid=14202"), EditorBrowsable(EditorBrowsableState.Never), SRCategory("CatLayout"), Browsable(false)] 396 public bool AutoScale { get; set; } 397 [EditorBrowsable(EditorBrowsableState.Never), Localizable(true), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 398 public virtual Size AutoScaleBaseSize { get; set; } 399 [Localizable(true)] 400 public override bool AutoScroll { get; set; } 401 [Browsable(true), DesignerSerializationVisibility(DesignerSerializationVisibility.Visible), EditorBrowsable(EditorBrowsableState.Always)] 402 public override bool AutoSize { get; set; } 403 [SRDescription("ControlAutoSizeModeDescr"), Localizable(true), SRCategory("CatLayout"), Browsable(true), DefaultValue(1)] 404 public AutoSizeMode AutoSizeMode { get; set; } 405 [Browsable(true), EditorBrowsable(EditorBrowsableState.Always)] 406 public override AutoValidate AutoValidate { get; set; } 407 public override Color BackColor { get; set; } 408 private bool CalledClosing { get; set; } 409 private bool CalledCreateControl { get; set; } 410 private bool CalledMakeVisible { get; set; } 411 private bool CalledOnLoad { get; set; } 412 [DefaultValue((string) null), SRDescription("FormCancelButtonDescr")] 413 public IButtonControl CancelButton { get; set; } 414 [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible), Localizable(true)] 415 public Size ClientSize { get; set; } 416 internal CloseReason CloseReason { get; set; } 417 [DefaultValue(true), SRCategory("CatWindowStyle"), SRDescription("FormControlBoxDescr")] 418 public bool ControlBox { get; set; } 419 protected override CreateParams CreateParams { [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)] get; } 420 internal static Icon DefaultIcon { get; } 421 protected override ImeMode DefaultImeMode { get; } 422 private static Icon DefaultRestrictedIcon { get; } 423 protected override Size DefaultSize { get; } 424 [Browsable(false), SRCategory("CatLayout"), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), SRDescription("FormDesktopBoundsDescr")] 425 public Rectangle DesktopBounds { get; set; } 426 [SRDescription("FormDesktopLocationDescr"), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false), SRCategory("CatLayout")] 427 public Point DesktopLocation { get; set; } 428 [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), SRDescription("FormDialogResultDescr"), SRCategory("CatBehavior")] 429 public DialogResult DialogResult { get; set; } 430 [SRDescription("FormBorderStyleDescr"), SRCategory("CatAppearance"), DefaultValue(4), DispId(-504)] 431 public FormBorderStyle FormBorderStyle { get; set; } 432 private Form FormerlyActiveMdiChild { get; set; } 433 internal override bool HasMenu { get; } 434 [DefaultValue(false), SRDescription("FormHelpButtonDescr"), SRCategory("CatWindowStyle")] 435 public bool HelpButton { get; set; } 436 [SRDescription("FormIconDescr"), Localizable(true), AmbientValue((string) null), SRCategory("CatWindowStyle")] 437 public Icon Icon { get; set; } 438 private bool IsClosing { get; set; } 439 private bool IsMaximized { get; } 440 [SRCategory("CatWindowStyle"), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), SRDescription("FormIsMDIChildDescr")] 441 public bool IsMdiChild { get; } 442 internal bool IsMdiChildFocusable { get; set; } 443 [SRCategory("CatWindowStyle"), SRDescription("FormIsMDIContainerDescr"), DefaultValue(false)] 444 public bool IsMdiContainer { get; set; } 445 [Browsable(false), EditorBrowsable(EditorBrowsableState.Advanced)] 446 public bool IsRestrictedWindow { get; } 447 [SRDescription("FormKeyPreviewDescr"), DefaultValue(false)] 448 public bool KeyPreview { get; set; } 449 [SettingsBindable(true)] 450 public Point Location { get; set; } 451 [SRCategory("CatWindowStyle"), TypeConverter(typeof(ReferenceConverter)), DefaultValue((string) null), SRDescription("FormMenuStripDescr")] 452 public MenuStrip MainMenuStrip { get; set; } 453 [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] 454 public Padding Margin { get; set; } 455 [DefaultValue(true), SRDescription("FormMaximizeBoxDescr"), SRCategory("CatWindowStyle")] 456 public bool MaximizeBox { get; set; } 457 protected Rectangle MaximizedBounds { get; set; } 458 [SRCategory("CatLayout"), Localizable(true), SRDescription("FormMaximumSizeDescr"), RefreshProperties(RefreshProperties.Repaint), DefaultValue(typeof(Size), "0, 0")] 459 public override Size MaximumSize { get; set; } 460 [SRDescription("FormMDIChildrenDescr"), SRCategory("CatWindowStyle"), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 461 public Form[] MdiChildren { get; } 462 internal MdiClient MdiClient { get; } 463 private MdiControlStrip MdiControlStrip { get; set; } 464 [SRCategory("CatWindowStyle"), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), SRDescription("FormMDIParentDescr"), Browsable(false)] 465 public Form MdiParent { get; set; } 466 private Form MdiParentInternal { get; set; } 467 private MdiWindowListStrip MdiWindowListStrip { get; set; } 468 [DefaultValue((string) null), Browsable(false), SRCategory("CatWindowStyle"), SRDescription("FormMenuDescr"), TypeConverter(typeof(ReferenceConverter))] 469 public MainMenu Menu { get; set; } 470 [SRDescription("FormMergedMenuDescr"), EditorBrowsable(EditorBrowsableState.Advanced), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), SRCategory("CatWindowStyle"), Browsable(false)] 471 public MainMenu MergedMenu { [UIPermission(SecurityAction.Demand, Window=UIPermissionWindow.AllWindows)] get; } 472 private MainMenu MergedMenuPrivate { get; } 473 [DefaultValue(true), SRDescription("FormMinimizeBoxDescr"), SRCategory("CatWindowStyle")] 474 public bool MinimizeBox { get; set; } 475 [SRCategory("CatLayout"), RefreshProperties(RefreshProperties.Repaint), SRDescription("FormMinimumSizeDescr"), Localizable(true)] 476 public override Size MinimumSize { get; set; } 477 [SRDescription("FormModalDescr"), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), SRCategory("CatWindowStyle")] 478 public bool Modal { get; } 479 [SRCategory("CatWindowStyle"), TypeConverter(typeof(OpacityConverter)), SRDescription("FormOpacityDescr"), DefaultValue((double) 1.0)] 480 public double Opacity { get; set; } 481 private byte OpacityAsByte { get; } 482 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), SRCategory("CatWindowStyle"), SRDescription("FormOwnedFormsDescr"), Browsable(false)] 483 public Form[] OwnedForms { get; } 484 [SRCategory("CatWindowStyle"), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false), SRDescription("FormOwnerDescr")] 485 public Form Owner { get; set; } 486 internal Form OwnerInternal { get; } 487 internal override Control ParentInternal { get; set; } 488 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false)] 489 public Rectangle RestoreBounds { get; } 490 [SRDescription("ControlRightToLeftLayoutDescr"), SRCategory("CatAppearance"), Localizable(true), DefaultValue(false)] 491 public virtual bool RightToLeftLayout { get; set; } 492 [SRCategory("CatWindowStyle"), SRDescription("FormShowIconDescr"), DefaultValue(true)] 493 public bool ShowIcon { get; set; } 494 [DefaultValue(true), SRCategory("CatWindowStyle"), SRDescription("FormShowInTaskbarDescr")] 495 public bool ShowInTaskbar { get; set; } 496 internal override int ShowParams { get; } 497 [Browsable(false)] 498 protected virtual bool ShowWithoutActivation { get; } 499 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Localizable(false)] 500 public Size Size { get; set; } 501 [SRCategory("CatWindowStyle"), SRDescription("FormSizeGripStyleDescr"), DefaultValue(0)] 502 public SizeGripStyle SizeGripStyle { get; set; } 503 [SRCategory("CatLayout"), SRDescription("FormStartPositionDescr"), Localizable(true), DefaultValue(2)] 504 public FormStartPosition StartPosition { get; set; } 505 [EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false)] 506 public int TabIndex { get; set; } 507 [DispId(-516), SRCategory("CatBehavior"), Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DefaultValue(true), SRDescription("ControlTabStopDescr")] 508 public bool TabStop { get; set; } 509 private HandleRef TaskbarOwner { get; } 510 [SettingsBindable(true)] 511 public override string Text { get; set; } 512 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false), EditorBrowsable(EditorBrowsableState.Advanced)] 513 public bool TopLevel { get; set; } 514 [SRDescription("FormTopMostDescr"), SRCategory("CatWindowStyle"), DefaultValue(false)] 515 public bool TopMost { get; set; } 516 [SRCategory("CatWindowStyle"), SRDescription("FormTransparencyKeyDescr")] 517 public Color TransparencyKey { get; set; } 518 [DefaultValue(0), SRCategory("CatLayout"), SRDescription("FormWindowStateDescr")] 519 public FormWindowState WindowState { get; set; } 520 internal override string WindowText { get; set; } 521 522 // Nested Types 523 [ComVisible(false)] 524 public class ControlCollection : Control.ControlCollection 525 { 526 // Fields 527 private Form owner; 528 529 // Methods 530 public ControlCollection(Form owner); 531 public override void Add(Control value); 532 public override void Remove(Control value); 533 } 534 535 private class EnumThreadWindowsCallback 536 { 537 // Fields 538 private List<HandleRef> ownedWindows; 539 540 // Methods 541 internal EnumThreadWindowsCallback(); 542 internal bool Callback(IntPtr hWnd, IntPtr lParam); 543 internal void ResetOwners(); 544 internal void SetOwners(HandleRef hRefOwner); 545 } 546 547 private class SecurityToolTip : IDisposable 548 { 549 // Fields 550 private bool first; 551 private Form owner; 552 private string toolTipText; 553 private ToolTipNativeWindow window; 554 555 // Methods 556 internal SecurityToolTip(Form owner); 557 public void Dispose(); 558 private void FormHandleCreated(object sender, EventArgs e); 559 private void FormLocationChanged(object sender, EventArgs e); 560 private NativeMethods.TOOLINFO_T GetTOOLINFO(); 561 internal void Pop(bool noLongerFirst); 562 private void RecreateHandle(); 563 private void SetupText(); 564 private void SetupToolTip(); 565 internal void Show(); 566 private void WndProc(ref Message msg); 567 568 // Properties 569 private CreateParams CreateParams { get; } 570 internal bool Modal { get; } 571 572 // Nested Types 573 private sealed class ToolTipNativeWindow : NativeWindow 574 { 575 // Fields 576 private Form.SecurityToolTip control; 577 578 // Methods 579 internal ToolTipNativeWindow(Form.SecurityToolTip control); 580 protected override void WndProc(ref Message m); 581 } 582 } 583 }
相关文章: