在Winform中綁定實時數據可以通過以下步驟實現:
創建一個數據源:可以是一個集合(如List、DataTable等),或者一個實現了INotifyPropertyChanged接口的類。
在Winform中創建一個控件(如DataGridView、ListBox等),將其DataSource屬性設置為數據源。
當數據源中的數據發生變化時,及時更新控件的數據顯示。可以通過數據源的事件(如List的CollectionChanged事件)或者INotifyPropertyChanged接口的PropertyChanged事件來實現。
下面是一個示例代碼,演示如何在Winform中綁定實時數據:
using System.ComponentModel;
using System.Windows.Forms;
namespace WinformRealtimeDataBinding
{
public partial class MainForm : Form
{
private BindingList<string> dataSource; // 數據源
public MainForm()
{
InitializeComponent();
dataSource = new BindingList<string>();
dataSource.AllowNew = true;
dataSource.AllowRemove = true;
// 將數據源綁定到控件的DataSource屬性
dataGridView.DataSource = dataSource;
}
private void AddButton_Click(object sender, EventArgs e)
{
// 在數據源中添加新數據
dataSource.Add("New Data");
}
private void RemoveButton_Click(object sender, EventArgs e)
{
// 從數據源中移除數據
if (dataGridView.SelectedRows.Count > 0)
{
var rowIndex = dataGridView.SelectedRows[0].Index;
dataSource.RemoveAt(rowIndex);
}
}
}
}
在上述示例中,我們創建了一個BindingList作為數據源,將其綁定到了一個DataGridView控件的DataSource屬性上。當點擊“Add”按鈕時,會向數據源中添加一個新的數據;當選擇一行數據后點擊“Remove”按鈕時,會從數據源中移除對應的數據。這樣,當數據源中的數據發生變化時,DataGridView控件會自動更新顯示。