<PackageReference Include="System.Reactive" Version="6.1.0-preview.9" />

ControlObservable

public static class ControlObservable
Provides a set of static methods for subscribing to IObservables using Windows Forms controls.
using System.Reactive.Concurrency; using System.Runtime.CompilerServices; using System.Windows.Forms; namespace System.Reactive.Linq { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] public static class ControlObservable { public static IObservable<TSource> SubscribeOn<[System.Runtime.CompilerServices.Nullable(2)] TSource>(this IObservable<TSource> source, Control control) { if (source == null) throw new ArgumentNullException("source"); if (control == null) throw new ArgumentNullException("control"); return Synchronization.SubscribeOn(source, new ControlScheduler(control)); } public static IObservable<TSource> ObserveOn<[System.Runtime.CompilerServices.Nullable(2)] TSource>(this IObservable<TSource> source, Control control) { if (source == null) throw new ArgumentNullException("source"); if (control == null) throw new ArgumentNullException("control"); return Synchronization.ObserveOn(source, new ControlScheduler(control)); } } }