- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
[C#] Sự kiện Reactive Observable Event Winform
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.
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!