using AGV_WPF.DLL; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace AGV_WPF.ExtraUI { public partial class SNShow : Form { PLCSqlDLL PLCSql = new PLCSqlDLL(); string resultRead1, resultRead2; DataTable data = new DataTable(); public SNShow() { InitializeComponent(); data = PLCSql.PLCSqlSelectAll(); dataInit(data); //getdata(); //hread(); } private void sN绑定修改ToolStripMenuItem_Click(object sender, EventArgs e) { SNChange sn = new SNChange(); sn.Show(); } private void 刷新ToolStripMenuItem_Click(object sender, EventArgs e) { data = PLCSql.PLCSqlSelectAll(); dataInit(data); } private Thread th; private void getdata() { th = new Thread(new ThreadStart(startData)); th.IsBackground=true; th.Start(); } public delegate void InvokeDelegate(); public void startData() { try { while (true) { data = PLCSql.PLCSqlSelectAll(); this.dataGridView1.Invoke(new InvokeDelegate(delegate //通过委托来调用方法 { this.dataGridView1.DataSource = data; })); Thread.Sleep(500); } } catch { return; } } private void SNShow_FormClosed(object sender, FormClosedEventArgs e) { th?.Abort(); } public void dataInit(DataTable data) { this.dataGridView1.DataSource = data; //this.dataGridView1.Refresh(); } } }