# System.Windows.Forms

``` diff
 namespace System.Windows.Forms {
     public class CheckBox : ButtonBase {
-        public event EventHandler AppearanceChanged;
+        public event EventHandler? AppearanceChanged;
-        public event EventHandler CheckedChanged;
+        public event EventHandler? CheckedChanged;
-        public event EventHandler CheckStateChanged;
+        public event EventHandler? CheckStateChanged;
-        public new event EventHandler DoubleClick;
+        public new event EventHandler? DoubleClick;
-        public new event MouseEventHandler MouseDoubleClick;
+        public new event MouseEventHandler? MouseDoubleClick;
     }
     public sealed class Cursor : IDisposable, IHandle, ISerializable {
-        public static Cursor? Current { get; set; }
+        public static Cursor Current { get; set; }
-        public object? Tag { get; set; }
+        public object Tag { get; set; }
-        public override bool Equals(object? obj);
+        public override bool Equals(object obj);
     }
     public class CursorConverter : TypeConverter {
-        public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType);
+        public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType);
-        public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context);
+        public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext? context);
     }
     public class DateTimePicker : Control {
+        protected override void OnGotFocus(EventArgs e);
         public class DateTimePickerAccessibleObject : Control.ControlAccessibleObject {
+            public override string DefaultAction { get; }
-            public override string KeyboardShortcut { get; }
+            public override string? KeyboardShortcut { get; }
+            public override string Name { get; }
+            public override void DoDefaultAction();
         }
     }
     public class DomainUpDown : UpDownBase {
-        public object SelectedItem { get; set; }
+        public object? SelectedItem { get; set; }
-        public new event EventHandler PaddingChanged;
+        public new event EventHandler? PaddingChanged;
-        public event EventHandler SelectedItemChanged;
+        public event EventHandler? SelectedItemChanged;
-        protected override void OnChanged(object source, EventArgs e);
+        protected override void OnChanged(object? source, EventArgs e);
-        protected void OnSelectedItemChanged(object source, EventArgs e);
+        protected void OnSelectedItemChanged(object? source, EventArgs e);
-        protected override void OnTextBoxKeyPress(object source, KeyPressEventArgs e);
+        protected override void OnTextBoxKeyPress(object? source, KeyPressEventArgs e);
     }
     public sealed class FolderBrowserDialog : CommonDialog {
-        public new event EventHandler HelpRequest;
+        public new event EventHandler? HelpRequest;
     }
     public class Form : ContainerControl {
         public new class ControlCollection : Control.ControlCollection {
-            public override void Add(Control value);
+            public override void Add(Control? value);
-            public override void Remove(Control value);
+            public override void Remove(Control? value);
         }
     }
     public class FormCollection : ReadOnlyCollectionBase {
-        public virtual Form this[int index] { get; }
+        public virtual Form? this[int index] { get; }
-        public virtual Form this[string name] { get; }
+        public virtual Form? this[string? name] { get; }
     }
     public sealed class ImageList : Component, IHandle {
-        public ImageListStreamer ImageStream { get; set; }
+        public ImageListStreamer? ImageStream { get; set; }
-        public object Tag { get; set; }
+        public object? Tag { get; set; }
-        public event EventHandler RecreateHandle;
+        public event EventHandler? RecreateHandle;
         public sealed class ImageCollection : ICollection, IEnumerable, IList {
-            bool System.Collections.ICollection.IsSynchronized { get; }
+            bool ICollection.IsSynchronized { get; }
-            object System.Collections.ICollection.SyncRoot { get; }
+            object ICollection.SyncRoot { get; }
-            bool System.Collections.IList.IsFixedSize { get; }
+            bool IList.IsFixedSize { get; }
-            object System.Collections.IList.this[int index] { get; set; }
+            object? IList.this[int index] { get; set; }
-            public Image this[string key] { get; }
+            public Image? this[string key] { get; }
-            int System.Collections.IList.Add(object value);
+            int System.Collections.IList.Add(object? value);
-            bool System.Collections.IList.Contains(object value);
+            bool System.Collections.IList.Contains(object? value);
-            int System.Collections.IList.IndexOf(object value);
+            int System.Collections.IList.IndexOf(object? value);
-            void System.Collections.IList.Insert(int index, object value);
+            void System.Collections.IList.Insert(int index, object? value);
-            void System.Collections.IList.Remove(object value);
+            void System.Collections.IList.Remove(object? value);
         }
     }
     public class KeysConverter : TypeConverter, IComparer {
-        public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType);
+        public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType);
-        public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context);
+        public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext? context);
     }
     public class ListBox : ListControl {
-        public override Image BackgroundImage { get; set; }
+        public override Image? BackgroundImage { get; set; }
-        public object SelectedItem { get; set; }
+        public object? SelectedItem { get; set; }
-        public override string Text { get; set; }
+        public override string? Text { get; set; }
-        public new event EventHandler BackgroundImageChanged;
+        public new event EventHandler? BackgroundImageChanged;
-        public new event EventHandler BackgroundImageLayoutChanged;
+        public new event EventHandler? BackgroundImageLayoutChanged;
-        public new event EventHandler Click;
+        public new event EventHandler? Click;
-        public event DrawItemEventHandler DrawItem;
+        public event DrawItemEventHandler? DrawItem;
-        public event MeasureItemEventHandler MeasureItem;
+        public event MeasureItemEventHandler? MeasureItem;
-        public new event MouseEventHandler MouseClick;
+        public new event MouseEventHandler? MouseClick;
-        public new event EventHandler PaddingChanged;
+        public new event EventHandler? PaddingChanged;
-        public new event PaintEventHandler Paint;
+        public new event PaintEventHandler? Paint;
-        public event EventHandler SelectedIndexChanged;
+        public event EventHandler? SelectedIndexChanged;
-        public new event EventHandler TextChanged;
+        public new event EventHandler? TextChanged;
     }
     public class ListView : Control {
-        public event EventHandler<ListViewGroupEventArgs> GroupCollapsedStateChanged;
+        public event EventHandler<ListViewGroupEventArgs>? GroupCollapsedStateChanged;
-        public event EventHandler<ListViewGroupEventArgs> GroupTaskLinkClick;
+        public event EventHandler<ListViewGroupEventArgs>? GroupTaskLinkClick;
-        public ListViewItem FindItemWithText(string text);
+        public ListViewItem? FindItemWithText(string text);
-        public ListViewItem FindItemWithText(string text, bool includeSubItemsInSearch, int startIndex);
+        public ListViewItem? FindItemWithText(string text, bool includeSubItemsInSearch, int startIndex);
-        public ListViewItem FindItemWithText(string text, bool includeSubItemsInSearch, int startIndex, bool isPrefixSearch);
+        public ListViewItem? FindItemWithText(string text, bool includeSubItemsInSearch, int startIndex, bool isPrefixSearch);
     }
     public class ListViewItem : ICloneable, IKeyboardToolTip, ISerializable {
         public class ListViewSubItem {
-            public ListViewSubItem(ListViewItem owner, string text);
+            public ListViewSubItem(ListViewItem owner, string? text);
-            public ListViewSubItem(ListViewItem owner, string text, Color foreColor, Color backColor, Font font);
+            public ListViewSubItem(ListViewItem owner, string? text, Color foreColor, Color backColor, Font font);
-            public object Tag { get; set; }
+            public object? Tag { get; set; }
         }
         public class ListViewSubItemCollection : ICollection, IEnumerable, IList {
-            bool System.Collections.ICollection.IsSynchronized { get; }
+            bool ICollection.IsSynchronized { get; }
-            object System.Collections.ICollection.SyncRoot { get; }
+            object ICollection.SyncRoot { get; }
-            bool System.Collections.IList.IsFixedSize { get; }
+            bool IList.IsFixedSize { get; }
-            object System.Collections.IList.this[int index] { get; set; }
+            object? IList.this[int index] { get; set; }
-            public virtual ListViewItem.ListViewSubItem this[string key] { get; }
+            public virtual ListViewItem.ListViewSubItem? this[string key] { get; }
-            public ListViewItem.ListViewSubItem Add(string text);
+            public ListViewItem.ListViewSubItem Add(string? text);
-            public ListViewItem.ListViewSubItem Add(string text, Color foreColor, Color backColor, Font font);
+            public ListViewItem.ListViewSubItem Add(string? text, Color foreColor, Color backColor, Font font);
-            public bool Contains(ListViewItem.ListViewSubItem subItem);
+            public bool Contains(ListViewItem.ListViewSubItem? subItem);
-            public virtual bool ContainsKey(string key);
+            public virtual bool ContainsKey(string? key);
-            public int IndexOf(ListViewItem.ListViewSubItem subItem);
+            public int IndexOf(ListViewItem.ListViewSubItem? subItem);
-            public virtual int IndexOfKey(string key);
+            public virtual int IndexOfKey(string? key);
-            public void Remove(ListViewItem.ListViewSubItem item);
+            public void Remove(ListViewItem.ListViewSubItem? item);
-            public virtual void RemoveByKey(string key);
+            public virtual void RemoveByKey(string? key);
-            int System.Collections.IList.Add(object item);
+            int System.Collections.IList.Add(object? item);
-            bool System.Collections.IList.Contains(object item);
+            bool System.Collections.IList.Contains(object? item);
-            int System.Collections.IList.IndexOf(object subItem);
+            int System.Collections.IList.IndexOf(object? subItem);
-            void System.Collections.IList.Insert(int index, object item);
+            void System.Collections.IList.Insert(int index, object? item);
-            void System.Collections.IList.Remove(object item);
+            void System.Collections.IList.Remove(object? item);
         }
     }
     public class PrintControllerWithStatusDialog : PrintController {
-        public override Graphics OnStartPage(PrintDocument document, PrintPageEventArgs e);
+        public override Graphics? OnStartPage(PrintDocument document, PrintPageEventArgs e);
     }
     public class PrintPreviewControl : Control {
-        public PrintDocument Document { get; set; }
+        public PrintDocument? Document { get; set; }
-        public event EventHandler StartPageChanged;
+        public event EventHandler? StartPageChanged;
-        public new event EventHandler TextChanged;
+        public new event EventHandler? TextChanged;
+        protected override AccessibleObject CreateAccessibilityInstance();
     }
     public class SplitContainer : ContainerControl, ISupportInitialize {
+        protected override AccessibleObject CreateAccessibilityInstance();
     }
     public class TreeView : Control {
+        protected override AccessibleObject CreateAccessibilityInstance();
     }
 }
```

