Modern.Forms icon indicating copy to clipboard operation
Modern.Forms copied to clipboard

[Parity] Control

Open jpobst opened this issue 5 years ago • 0 comments

Tracks parity with System.Windows.Forms.Control.

Legend

  • Checked: Implemented (optional description pointing elsewhere if moved or renamed)
  • Unchecked: To be implemented
  • Strikethrough: Do not plan on implementing

Constuctors

  • [x] Control ()
  • [x] ~Control (Control, String)~
    • This feels unnecessary now that we have object initializers.
  • [x] ~Control (Control, String, Int32, Int32, Int32, Int32)~
    • This feels unnecessary now that we have object initializers.
  • [x] ~Control (String)~
    • This feels unnecessary now that we have object initializers.
  • [x] ~Control (String, Int32, Int32, Int32, Int32)~
    • This feels unnecessary now that we have object initializers.

Properties

  • [ ] AccessbilityObject
  • [ ] AccessibleDefaultActionDescription
  • [ ] AccessibleDescription
  • [ ] AccessibleName
  • [ ] AccessibleRole
  • [ ] AllowDrop
  • [x] Anchor
  • [ ] AutoScrollOffset
  • [x] AutoSize
  • [x] BackColor
    • Control.Style.BackgroundColor
  • [ ] BackgroundImage
  • [ ] BackgroundImageLayout
  • [ ] BindingContext
  • [x] Bottom
  • [x] Bounds
  • [ ] CanEnableIme
  • [ ] CanFocus
  • [x] ~CanRaiseEvents~
    • Only used for ActiveX
  • [x] CanSelect
  • [x] Capture
  • [ ] CausesValidation
  • [ ] CheckForIllegalCrossThreadCalls
  • [x] ClientRectangle
  • [x] ClientSize
  • [x] ~CompanyName~
    • Unneeded
  • [x] ~Container~
    • Unneeded
  • [ ] ContainsFocus
  • [x] ContextMenuStrip
    • Control.ContextMenu
  • [x] Controls
  • [x] ~Created~
    • Unneeded
  • [x] ~CreateParams~
    • Unneeded
  • [x] Cursor
  • [ ] DataBindings
  • [x] DefaultBackColor
    • Control.Style.BackgroundColor
  • [x] DefaultCursor
  • [x] DefaultFont
    • Control.Style.Font
  • [x] DefaultForeColor
    • Control.Style.ForegroundColor
  • [ ] DefaultImeMode
  • [x] DefaultMargin
  • [x] DefaultMaximumSize
  • [x] DefaultMinimumSize
  • [x] DefaultPadding
  • [x] DefaultSize
  • [x] DeviceDpi
  • [x] DisplayRectangle
  • [x] Disposing
  • [x] Dock
  • [x] ~DoubleBuffered~
    • All controls are double buffered
  • [x] Enabled
  • [x] Focused
  • [x] Font
    • Control.Style.Font
  • [x] FontHeight
    • Control.Style.FontSize
  • [x] ForeColor
    • Control.Style.ForegroundColor
  • [x] ~Handle~
    • Controls do not use native OS handles
  • [x] HasChildren
  • [x] Height
  • [ ] ImeMode
  • [ ] ImeModeBase
  • [ ] InvokeRequired
  • [ ] IsAccessible
  • [ ] IsDisposed
  • [x] ~IsHandleCreated~
    • Controls do not use native OS handles
  • [ ] IsMirrored
  • [x] LayoutEngine
  • [x] Left
  • [x] Location
  • [x] Margin
  • [x] MaximumSize
  • [x] MinimumSize
  • [ ] ModifierKeys
  • [ ] MouseButtons
  • [ ] MousePosition
  • [x] Name
  • [x] Padding
  • [x] Parent
  • [x] PreferredSize
  • [x] ~ProductName~
    • Unneeded
  • [x] ~ProductVersion~
    • Unneeded
  • [ ] PropagatingImeMode
  • [x] ~RecreatingHandle~
    • Controls do not use native OS handles
  • [x] ~Region~
    • Probably won't support irregularly shaped controls
  • [x] ~RenderRightToLeft~
    • Obsolete
  • [ ] ResizeRedraw
  • [x] Right
  • [ ] RightToLeft
  • [ ] ScaleChildren
  • [x] ShowFocusCues
  • [ ] ShowKeyboardCues
  • [x] ~Site~
    • Unneeded
  • [x] Size
  • [x] TabIndex
  • [x] TabStop
  • [x] Tag
  • [x] Text
  • [x] Top
  • [x] ~TopLevelControl~
    • Unneeded since we do not support parenting a form to a control
  • [ ] UseWaitCursor
  • [x] Visible
  • [x] Width
  • [x] ~WindowTarget~
    • Unneeded

Methods

  • [ ] AccessibilityNotifyClients (AccessibleEvents, Int32)
  • [ ] AccessibilityNotifyClients (AccessibleEvents, Int32, Int32)
  • [ ] BeginInvoke (Delegate)
  • [ ] BeginInvoke (Delegate, Object[])
  • [x] BringToFront ()
  • [x] Contains (Control)
  • [ ] CreateAccessibilityInstance ()
  • [x] ~CreateControl ()~
    • Controls do not use native OS handles
  • [x] ~CreateControlsInstance ()~
    • Handled automatically
  • [ ] CreateGraphics ()
  • [x] ~CreateHandle ()~
    • Controls do not use native OS handles
  • [x] ~DefWndProc (Message&)~
    • Controls do not use native OS messages
  • [x] ~DestroyHandle ()~
    • Controls do not use native OS handles
  • [x] Dispose (Boolean)
  • [ ] DoDragDrop (Object, DragDropEffects)
  • [ ] DrawToBitmap (Bitmap, Rectangle)
  • [ ] EndInvoke (IAsyncResult)
  • [x] FindForm ()
  • [ ] Focus ()
  • [x] ~FromChildHandle (IntPtr)~
    • Controls do not use native OS handles
  • [x] ~FromHandle (IntPtr)~
    • Controls do not use native OS handles
  • [ ] GetAccessibilityObjectById (Int32)
  • [ ] GetAutoSizeMode ()
  • [ ] GetChildAtPoint (Point, GetChildAtPointSkip)
  • [ ] GetChildAtPoint (Point)
  • [ ] GetContainerControl ()
  • [x] GetNextControl (Control, Boolean)
  • [x] GetPreferredSize (Size)
  • [x] GetScaledBounds (Rectangle, SizeF, BoundsSpecified)
  • [ ] GetStyle (ControlStyles)
  • [x] ~GetTopLevel ()~
    • We don't support top level control (controls not in a form)
  • [x] Hide ()
  • [ ] InitLayout ()
  • [x] ~Invalidate (Region)~
    • Probably won't support irregularly shaped controls
  • [x] ~Invalidate (Region, Boolean)~
    • Probably won't support irregularly shaped controls
  • [x] Invalidate ()
  • [ ] Invalidate (Boolean)
  • [x] Invalidate (Rectangle)
  • [ ] Invalidate (Rectangle, Boolean)
  • [ ] Invoke (Delegate)
  • [ ] Invoke (Delegate, Object[])
  • [ ] InvokeGotFocus (Control, EventArgs)
  • [ ] InvokeLostFocus (Control, EventArgs)
  • [ ] InvokeOnClick (Control, EventArgs)
  • [ ] InvokePaint (Control, PaintEventArgs)
  • [ ] InvokePaintBackground (Control, PaintEventArgs)
  • [ ] IsInputChar (Char)
  • [ ] IsInputKey (Keys)
  • [ ] IsKeyLocked (Keys)
  • [x] IsMnemonic (Char, String)
  • [x] LogicalToDeviceUnits (Int32)
  • [x] LogicalToDeviceUnits (Size)
  • [ ] NotifyInvalidate (Rectangle)
  • [x] OnAutoSizeChanged (EventArgs)
  • [ ] OnBackColorChanged (EventArgs)
  • [ ] OnBackgroundImageChanged (EventArgs)
  • [ ] OnBackgroundImageLayoutChanged (EventArgs)
  • [ ] OnBindingContextChanged (EventArgs)
  • [ ] OnCausesValidationChanged (EventArgs)
  • [ ] OnChangeUICues (UICuesEventArgs)
  • [x] OnClick (EventArgs)
  • [ ] OnClientSizeChanged (EventArgs)
  • [ ] OnContextMenuStripChanged (EventArgs)
  • [x] OnControlAdded (ControlEventArgs)
  • [x] OnControlRemoved (ControlEventArgs)
  • [x] ~OnCreateControl ()~
    • Controls do not use native OS handles
  • [x] OnCursorChanged (EventArgs)
  • [x] OnDockChanged (EventArgs)
  • [x] OnDoubleClick (EventArgs)
  • [ ] OnDpiChangedAfterParent (EventArgs)
  • [ ] OnDpiChangedBeforeParent (EventArgs)
  • [ ] OnDragDrop (DragEventArgs)
  • [ ] OnDragEnter (DragEventArgs)
  • [ ] OnDragLeave (EventArgs)
  • [ ] OnDragOver (DragEventArgs)
  • [x] OnEnabledChanged (EventArgs)
  • [ ] OnEnter (EventArgs)
  • [ ] OnFontChanged (EventArgs)
  • [ ] OnForeColorChanged (EventArgs)
  • [ ] OnGiveFeedback (GiveFeedbackEventArgs)
  • [x] OnGotFocus (EventArgs)
  • [x] ~OnHandleCreated (EventArgs)~
    • Controls do not use native OS handles
  • [x] ~OnHandleDestroyed (EventArgs)~
    • Controls do not use native OS handles
  • [ ] OnHelpRequested (HelpEventArgs)
  • [ ] OnImeModeChanged (EventArgs)
  • [ ] OnInvalidated (InvalidateEventArgs)
  • [x] OnKeyDown (KeyEventArgs)
  • [x] OnKeyPress (KeyPressEventArgs)
  • [x] OnKeyUp (KeyEventArgs)
  • [x] OnLayout (LayoutEventArgs)
  • [ ] OnLeave (EventArgs)
  • [x] OnLocationChanged (EventArgs)
  • [ ] OnLostFocus (EventArgs)
  • [x] OnMarginChanged (EventArgs)
  • [ ] OnMouseCaptureChanged (EventArgs)
  • [x] ~OnMouseClick (MouseEventArgs)~
    • Redundant with OnClick
  • [x] ~OnMouseDoubleClick (MouseEventArgs)~
    • Redundant with OnDoubleClick
  • [x] OnMouseDown (MouseEventArgs)
  • [x] OnMouseEnter (EventArgs)
  • [ ] OnMouseHover (EventArgs)
  • [x] OnMouseLeave (EventArgs)
  • [x] OnMouseMove (MouseEventArgs)
  • [x] OnMouseUp (MouseEventArgs)
  • [x] OnMouseWheel (MouseEventArgs)
  • [ ] OnMove (EventArgs)
  • [x] ~OnNotifyMessage (Message)~
    • Controls do not use native OS messages
  • [x] OnPaddingChanged (EventArgs)
  • [x] OnPaint (PaintEventArgs)
  • [x] OnPaintBackground (PaintEventArgs)
  • [ ] OnParentBackColorChanged (EventArgs)
  • [ ] OnParentBackgroundImageChanged (EventArgs)
  • [ ] OnParentBindingContextChanged (EventArgs)
  • [x] OnParentChanged (EventArgs)
  • [ ] OnParentCursorChanged (EventArgs)
  • [x] OnParentEnabledChanged (EventArgs)
  • [ ] OnParentFontChanged (EventArgs)
  • [ ] OnParentForeColorChanged (EventArgs)
  • [ ] OnParentRightToLeftChanged (EventArgs)
  • [x] OnParentVisibleChanged (EventArgs)
  • [ ] OnPreviewKeyDown (PreviewKeyDownEventArgs)
  • [ ] OnPrint (PaintEventArgs)
  • [ ] OnQueryContinueDrag (QueryContinueDragEventArgs)
  • [x] ~OnRegionChanged (EventArgs)~
    • Probably won't support irregularly shaped controls
  • [x] OnResize (EventArgs)
  • [ ] OnRightToLeftChanged (EventArgs)
  • [x] OnSizeChanged (EventArgs)
  • [ ] OnStyleChanged (EventArgs)
  • [ ] OnSystemColorsChanged (EventArgs)
  • [x] OnTabIndexChanged (EventArgs)
  • [x] OnTabStopChanged (EventArgs)
  • [x] OnTextChanged (EventArgs)
  • [ ] OnValidated (EventArgs)
  • [ ] OnValidating (CancelEventArgs)
  • [x] OnVisibleChanged (EventArgs)
  • [x] PerformLayout ()
  • [x] PerformLayout (Control, String)
  • [ ] PointToClient (Point)
  • [x] PointToScreen (Point)
  • [x] ~PreProcessControlMessage (Message&)~
    • Controls do not use native OS messages
  • [x] ~PreProcessMessage (Message&)~
    • Controls do not use native OS messages
  • [ ] ProcessCmdKey (Message&, Keys)
  • [ ] ProcessDialogChar (Char)
  • [ ] ProcessDialogKey (Keys)
  • [x] ~ProcessKeyEventArgs (Message&)~
    • Controls do not use native OS messages
  • [x] ~ProcessKeyMessage (Message&)~
    • Controls do not use native OS messages
  • [x] ~ProcessKeyPreview (Message&)~
    • Controls do not use native OS messages
  • [ ] ProcessMnemonic (Char)
  • [ ] RaiseDragEvent (Object, DragEventArgs)
  • [ ] RaiseKeyEvent (Object, KeyEventArgs)
  • [ ] RaiseMouseEvent (Object, MouseEventArgs)
  • [ ] RaisePaintEvent (Object, PaintEventArgs)
  • [x] ~RecreateHandle ()~
    • Controls do not use native OS handles
  • [ ] RectangleToClient (Rectangle)
  • [ ] RectangleToScreen (Rectangle)
  • [x] ~ReflectMessage (IntPtr, Message&)~
    • Controls do not use native OS messages
  • [x] ~Refresh ()~
    • Probably won't support this
  • [ ] RescaleConstantsForDpi (Int32, Int32)
  • [x] ~ResetBackColor ()~
    • Used by designer
  • [x] ~ResetBindings ()~
    • Used by designer
  • [x] ~ResetCursor ()~
    • Used by designer
  • [x] ~ResetFont ()~
    • Used by designer
  • [x] ~ResetForeColor ()~
    • Used by designer
  • [x] ~ResetImeMode ()~
    • Used by designer
  • [x] ~ResetMouseEventArgs ()~
    • Used by designer
  • [x] ~ResetRightToLeft ()~
    • Used by designer
  • [x] ~ResetText ()~
    • Used by designer
  • [x] ResumeLayout ()
  • [x] ResumeLayout (Boolean)
  • [ ] RtlTranslateAlignment (HorizontalAlignment)
  • [ ] RtlTranslateAlignment (LeftRightAlignment)
  • [ ] RtlTranslateAlignment (ContentAlignment)
  • [ ] RtlTranslateContent (ContentAlignment)
  • [ ] RtlTranslateHorizontal (HorizontalAlignment)
  • [ ] RtlTranslateLeftRight (LeftRightAlignment)
  • [ ] Scale (Single)
  • [ ] Scale (Single, Single)
  • [x] Scale (SizeF)
  • [ ] ScaleBitmapLogicalToDevice (Bitmap&)
  • [ ] ScaleControl (SizeF, BoundsSpecified)
  • [x] ScaleCore (Single, Single)
  • [x] Select ()
  • [ ] Select (Boolean, Boolean)
  • [x] SelectNextControl (Control, Boolean, Boolean, Boolean, Boolean)
  • [x] SendToBack ()
  • [ ] SetAutoSizeMode (AutoSizeMode)
  • [x] SetBounds (Int32, Int32, Int32, Int32)
  • [x] SetBounds (Int32, Int32, Int32, Int32, BoundsSpecified)
  • [x] SetBoundsCore (Int32, Int32, Int32, Int32, BoundsSpecified)
  • [ ] SetClientSizeCore (Int32, Int32)
  • [ ] SetStyle (ControlStyles, Boolean)
  • [x] ~SetTopLevel (Boolean)~
    • We don't support top level controls
  • [x] SetVisibleCore (Boolean)
  • [x] Show ()
  • [ ] SizeFromClientSize (Size)
  • [x] SuspendLayout ()
  • [ ] Update ()
  • [ ] UpdateBounds ()
  • [x] UpdateBounds (Int32, Int32, Int32, Int32)
  • [ ] UpdateBounds (Int32, Int32, Int32, Int32, Int32, Int32)
  • [ ] UpdateStyles ()
  • [x] ~UpdateZOrder ()~
    • NA because controls do not have native OS handles
  • [x] ~WndProc (Message&)~
    • Controls do not use native OS messages

Events

  • [x] AutoSizeChanged
  • [ ] BackColorChanged
  • [ ] BackgroundImageChanged
  • [ ] BackgroundImageLayoutChanged
  • [ ] BindingContextChanged
  • [ ] CausesValidationChanged
  • [ ] ChangeUICues
  • [x] Click
  • [ ] ClientSizeChanged
  • [ ] ContextMenuStripChanged
  • [x] ControlAdded
  • [x] ControlRemoved
  • [x] CursorChanged
  • [x] DockChanged
  • [x] DoubleClick
  • [ ] DpiChangedAfterParent
  • [ ] DpiChangedBeforeParent
  • [ ] DragDrop
  • [ ] DragEnter
  • [ ] DragLeave
  • [ ] DragOver
  • [x] EnabledChanged
  • [ ] Enter
  • [ ] FontChanged
  • [ ] ForeColorChanged
  • [ ] GiveFeedback
  • [x] GotFocus
  • [x] ~HandleCreated~
    • Controls do not use native OS handles
  • [x] ~HandleDestroyed~
    • Controls do not use native OS handles
  • [ ] HelpRequested
  • [ ] ImeModeChanged
  • [x] Invalidated
  • [x] KeyDown
  • [x] KeyPress
  • [x] KeyUp
  • [x] Layout
  • [ ] Leave
  • [x] LocationChanged
  • [ ] LostFocus
  • [x] MarginChanged
  • [ ] MouseCaptureChanged
  • [x] ~MouseClick~
    • Redundant with Click
  • [x] ~MouseDoubleClick~
    • Redundant with DoubleClick
  • [x] MouseDown
  • [x] MouseEnter
  • [ ] MouseHover
  • [x] MouseLeave
  • [x] MouseMove
  • [x] MouseUp
  • [x] MouseWheel
  • [ ] Move
  • [x] PaddingChanged
  • [ ] Paint
  • [x] ParentChanged
  • [ ] PreviewKeyDown
  • [ ] QueryAccessibilityHelp
  • [ ] QueryContinueDrag
  • [ ] RegionChanged
  • [x] Resize
  • [ ] RightToLeftChanged
  • [x] SizeChanged
  • [ ] StyleChanged
  • [ ] SystemColorsChanged
  • [x] TabIndexChanged
  • [x] TabStopChanged
  • [x] TextChanged
  • [ ] Validated
  • [ ] Validating
  • [x] VisibleChanged

jpobst avatar May 25 '20 17:05 jpobst