# System.Windows.Forms

``` diff
 namespace System.Windows.Forms {
     public abstract class AxHost : Control, ICustomTypeDescriptor, ISupportInitialize {
         public class AxComponentEditor : WindowsFormsComponentEditor {
-            public override bool EditComponent(ITypeDescriptorContext context, object obj, IWin32Window parent);
+            public override bool EditComponent(ITypeDescriptorContext? context, object obj, IWin32Window? parent);
         }
     }
     public class CheckedListBox : ListBox {
-        public new object DataSource { get; set; }
+        public new object? DataSource { get; set; }
-        public new event EventHandler Click;
+        public new event EventHandler? Click;
-        public new event EventHandler DataSourceChanged;
+        public new event EventHandler? DataSourceChanged;
-        public new event EventHandler DisplayMemberChanged;
+        public new event EventHandler? DisplayMemberChanged;
-        public new event DrawItemEventHandler DrawItem;
+        public new event DrawItemEventHandler? DrawItem;
-        public event ItemCheckEventHandler ItemCheck;
+        public event ItemCheckEventHandler? ItemCheck;
-        public new event MeasureItemEventHandler MeasureItem;
+        public new event MeasureItemEventHandler? MeasureItem;
-        public new event MouseEventHandler MouseClick;
+        public new event MouseEventHandler? MouseClick;
-        public new event EventHandler ValueMemberChanged;
+        public new event EventHandler? ValueMemberChanged;
         public class CheckedIndexCollection : 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; }
-            int IList.Add(object value);
+            int IList.Add(object? value);
-            bool IList.Contains(object index);
+            bool IList.Contains(object? index);
-            int IList.IndexOf(object index);
+            int IList.IndexOf(object? index);
-            void IList.Insert(int index, object value);
+            void IList.Insert(int index, object? value);
-            void IList.Remove(object value);
+            void IList.Remove(object? value);
         }
         public class CheckedItemCollection : 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; }
-            public object this[int index] { get; set; }
+            public object? this[int index] { get; set; }
-            public bool Contains(object item);
+            public bool Contains(object? item);
-            public int IndexOf(object item);
+            public int IndexOf(object? item);
-            int IList.Add(object value);
+            int IList.Add(object? value);
-            void IList.Insert(int index, object value);
+            void IList.Insert(int index, object? value);
-            void IList.Remove(object value);
+            void IList.Remove(object? value);
         }
     }
     public class FontDialog : CommonDialog {
-        public event EventHandler Apply;
+        public event EventHandler? Apply;
     }
     public class ListView : Control {
         public class CheckedIndexCollection : 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; }
-            int IList.Add(object value);
+            int IList.Add(object? value);
-            bool IList.Contains(object checkedIndex);
+            bool IList.Contains(object? checkedIndex);
-            int IList.IndexOf(object checkedIndex);
+            int IList.IndexOf(object? checkedIndex);
-            void IList.Insert(int index, object value);
+            void IList.Insert(int index, object? value);
-            void IList.Remove(object value);
+            void IList.Remove(object? value);
         }
         public class ColumnHeaderCollection : 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 ColumnHeader Add(string text);
+            public virtual ColumnHeader Add(string? text);
-            public virtual ColumnHeader Add(string text, int width);
+            public virtual ColumnHeader Add(string? text, int width);
-            public virtual ColumnHeader Add(string text, int width, HorizontalAlignment textAlign);
+            public virtual ColumnHeader Add(string? text, int width, HorizontalAlignment textAlign);
-            public virtual ColumnHeader Add(string key, string text, int width, HorizontalAlignment textAlign, string imageKey);
+            public virtual ColumnHeader Add(string? key, string? text, int width, HorizontalAlignment textAlign, string imageKey);
         }
         public class SelectedIndexCollection : 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; }
-            int IList.Add(object value);
+            int IList.Add(object? value);
-            bool IList.Contains(object selectedIndex);
+            bool IList.Contains(object? selectedIndex);
-            int IList.IndexOf(object selectedIndex);
+            int IList.IndexOf(object? selectedIndex);
-            void IList.Insert(int index, object value);
+            void IList.Insert(int index, object? value);
-            void IList.Remove(object value);
+            void IList.Remove(object? value);
         }
     }
     public class ListViewGroupCollection : 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; }
-        bool System.Collections.IList.IsReadOnly { get; }
+        bool IList.IsReadOnly { get; }
-        object System.Collections.IList.this[int index] { get; set; }
+        object? IList.this[int index] { get; set; }
-        public ListViewGroup this[string key] { get; set; }
+        public ListViewGroup? this[string key] { get; set; }
-        public ListViewGroup Add(string key, string headerText);
+        public ListViewGroup Add(string? key, string? headerText);
-        int IList.Add(object value);
+        int IList.Add(object? value);
-        bool IList.Contains(object value);
+        bool IList.Contains(object? value);
-        int IList.IndexOf(object value);
+        int IList.IndexOf(object? value);
-        void IList.Insert(int index, object value);
+        void IList.Insert(int index, object? value);
-        void IList.Remove(object value);
+        void IList.Remove(object? value);
     }
     public class MaskedTextBox : TextBoxBase {
-        public IFormatProvider FormatProvider { get; set; }
+        public IFormatProvider? FormatProvider { get; set; }
-        public MaskedTextProvider MaskedTextProvider { get; }
+        public MaskedTextProvider? MaskedTextProvider { get; }
-        public Type ValidatingType { get; set; }
+        public Type? ValidatingType { get; set; }
-        public new event EventHandler AcceptsTabChanged;
+        public new event EventHandler? AcceptsTabChanged;
-        public event EventHandler IsOverwriteModeChanged;
+        public event EventHandler? IsOverwriteModeChanged;
-        public event EventHandler MaskChanged;
+        public event EventHandler? MaskChanged;
-        public event MaskInputRejectedEventHandler MaskInputRejected;
+        public event MaskInputRejectedEventHandler? MaskInputRejected;
-        public new event EventHandler MultilineChanged;
+        public new event EventHandler? MultilineChanged;
-        public event EventHandler TextAlignChanged;
+        public event EventHandler? TextAlignChanged;
-        public event TypeValidationEventHandler TypeValidationCompleted;
+        public event TypeValidationEventHandler? TypeValidationCompleted;
-        public object ValidateText();
+        public object? ValidateText();
     }
     public sealed class MdiClient : Control {
-        public override Image BackgroundImage { get; set; }
+        public override Image? BackgroundImage { get; set; }
     }
     public class NumericUpDown : UpDownBase, ISupportInitialize {
-        public new event EventHandler PaddingChanged;
+        public new event EventHandler? PaddingChanged;
-        public new event EventHandler TextChanged;
+        public new event EventHandler? TextChanged;
-        public event EventHandler ValueChanged;
+        public event EventHandler? ValueChanged;
-        protected override void OnTextBoxKeyPress(object source, KeyPressEventArgs e);
+        protected override void OnTextBoxKeyPress(object? source, KeyPressEventArgs e);
     }
     public class RadioButton : ButtonBase {
-        public event EventHandler AppearanceChanged;
+        public event EventHandler? AppearanceChanged;
-        public event EventHandler CheckedChanged;
+        public event EventHandler? CheckedChanged;
-        public new event EventHandler DoubleClick;
+        public new event EventHandler? DoubleClick;
-        public new event MouseEventHandler MouseDoubleClick;
+        public new event MouseEventHandler? MouseDoubleClick;
     }
     public class TextBox : TextBoxBase {
-        public event EventHandler TextAlignChanged;
+        public event EventHandler? TextAlignChanged;
-        public void Paste(string text);
+        public void Paste(string? text);
     }
     public class ThreadExceptionDialog : Form {
-        public new event EventHandler AutoSizeChanged;
+        public new event EventHandler? AutoSizeChanged;
     }
 }
```

