C# winform 中的Form 源码

  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 }
View Code
Expand Methods
posted @ 2013-12-18 12:12  青田  阅读(1218)  评论(0编辑  收藏  举报