事件“;按钮Click"c#不工作
本文关键字:quot 工作 Click 按钮 事件 | 更新日期: 2023-09-27 17:53:16
我正在尝试用两个按钮开始和停止程序。下面是代码:
namespace rcToOnBoardPC
{
public partial class Form1 : Form
{
Communication objCommunication = new Communication();
DataTable A = new DataTable();
public int a;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
objCommunication.intialiseCAN();
a = 1;
A = Data.GetAccessDataTable("TestData", "testDB.accdb");
this.dataGridView1.DataSource = A;
objCommunication.ID0008Update10ms(A,a);// Runs Infinte While if a=1
}
private void button2_Click(object sender, EventArgs e)
{
a = 0;
string timeEnd = DateTime.Now.ToString();
objCommunication.unIntialiseCAN();
Environment.Exit(1);
}
public void textBox1Update(string message)
{
textBox1.Text = message;
}
}
}
我面临的问题是,在"button1_click"a被设置为1,如果a=1,然后方法"ID0008Update10ms"运行一个无限的时间。如果我尝试生成"button2_Click"我无法实现它,或者它根本不起作用,所以a永远不会设置为零。为什么会出现这个问题?
如果button1_Click正在运行一个无限循环,它将阻塞UI线程。
这意味着不能处理UI线程上的任何其他事件,包括button2_Click。
尝试在后台线程上运行infinite或在线程中实现它。睡眠1毫秒。问题可能是你阻塞了UI线程无法处理第二个点击按钮2