SNShow.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. using AGV_WPF.DLL;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12. namespace AGV_WPF.ExtraUI
  13. {
  14. public partial class SNShow : Form
  15. {
  16. PLCSqlDLL PLCSql = new PLCSqlDLL();
  17. string resultRead1, resultRead2;
  18. DataTable data = new DataTable();
  19. public SNShow()
  20. {
  21. InitializeComponent();
  22. data = PLCSql.PLCSqlSelectAll();
  23. dataInit(data);
  24. //getdata();
  25. //hread();
  26. }
  27. private void sN绑定修改ToolStripMenuItem_Click(object sender, EventArgs e)
  28. {
  29. SNChange sn = new SNChange();
  30. sn.Show();
  31. }
  32. private void 刷新ToolStripMenuItem_Click(object sender, EventArgs e)
  33. {
  34. data = PLCSql.PLCSqlSelectAll();
  35. dataInit(data);
  36. }
  37. private Thread th;
  38. private void getdata()
  39. {
  40. th = new Thread(new ThreadStart(startData));
  41. th.IsBackground=true;
  42. th.Start();
  43. }
  44. public delegate void InvokeDelegate();
  45. public void startData()
  46. {
  47. try {
  48. while (true)
  49. {
  50. data = PLCSql.PLCSqlSelectAll();
  51. this.dataGridView1.Invoke(new InvokeDelegate(delegate //通过委托来调用方法
  52. {
  53. this.dataGridView1.DataSource = data;
  54. }));
  55. Thread.Sleep(500);
  56. }
  57. }
  58. catch
  59. {
  60. return;
  61. }
  62. }
  63. private void SNShow_FormClosed(object sender, FormClosedEventArgs e)
  64. {
  65. th?.Abort();
  66. }
  67. public void dataInit(DataTable data)
  68. {
  69. this.dataGridView1.DataSource = data;
  70. //this.dataGridView1.Refresh();
  71. }
  72. }
  73. }