NEWS

[C#] Sự kiện Reactive Observable Event Winform

[C#] Sự kiện Reactive Observable Event Winform
Đăng bởi: Thảo Meo - Lượt xem: 3536 16:10:13, 20/03/2020C#   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẽ hướng dẫn viết sự kiện trên Winform Event Rx.net Obserable C#.

[C#] Obserable Reactive Envent Winform

Windows Forms có sử dụng giao diện INotifyPropertyChanged, chúng ta có thể sử dụng như ví dụ dưới đây.

event_reactive

Source code Obserable Reactive Envent c#:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reactive.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        void Ticker()
        {
            Observable.Interval(TimeSpan.FromSeconds(1))
                .ObserveOn(this)
                .Subscribe(x => textBox1.Text = DateTime.Now.ToLongTimeString());
        }

        void WordCount()
        {
            var textChanged = Observable.FromEventPattern
                <EventHandler, EventArgs>(
                handler => handler.Invoke,
                h => textBox3.TextChanged += h,
                h => textBox3.TextChanged -= h);

            textChanged
                .ObserveOn(this)
                .Subscribe(x => textBox2.Text =
                    textBox3.Text
                    .Split()
                    .DefaultIfEmpty()
                    .Count(word => !string.IsNullOrWhiteSpace(word))
                    .ToString());
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Ticker();
            WordCount();
        }
    }
}

Thanks for watching!

 

DOWNLOAD SOURCE

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[C#] Sự kiện Reactive Observable Event Winform
Đăng bởi: Thảo Meo - Lượt xem: 3536 16:10:13, 20/03/2020C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.