好的,我对使用线程非常陌生,但到目前为止,我已经成功地获得了以下内容:
Private Delegate Sub dlgUpdateText(text as string)
Private Sub UpdateStatus(text as string)
If rtxStatus.InvokeRequired then
Dim dlg as new dlgUpdateText(AddressOf UpdateStatus)
Me.Invoke(dlg, text)
Else
rtxStatus.text = text
End If
End Sub
从我的异
当查询运行很长时间并执行任何UI操作时,我的windows应用程序进入“未响应状态”。所以我选择了线程概念。但是在Thread.start()方法中执行数据库操作时。它会产生"windows应用程序停止工作“之类的错误。
我的代码:
Dim Newthread As New Thread(AddressOf test)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
CONNECT_STRING = "Prov
我已经有这个了,但是它不能工作...我需要检查来自plc的位是否为高电平。如果它仍然很高,我需要等待5秒,然后再次检查。现在,我正在尝试寻找一些东西,以便为用户提供一些视觉反馈。在文本框中,我想输入“正在等待...”而等待后的点数每5秒增加一次。我尝试了很多方法,但似乎都不能让它工作。大多数情况下,它只是挂起了25秒而没有更新GUI,然后它就会继续……:/
// First check if the plc bit, that says if there is still an order active,
// is still set. If so then we wait a coupl
我有这样的情况:
表单“菜单”,你可以点击“新建”,一个插入表单(带有显示对话框)将会出现。如果您插入数据,我将在数据库上执行插入查询,然后关闭此表单。在showDialog()语句之后,我有很多方法,它们以顺序的方式执行许多操作(非常重要),有时还会更新dataGridView。在所有这些计算之后,我模拟按下“新建按钮”,以便允许用户插入一个新的项目。这是一个示例:
private void buttonNew_Click(object sender, EventArgs e)
{
DialogResult dr = new DialogResult();
I
如果我在C#中启动一个新线程,我是否可以只触发并忘记线程,而不用担心线程被联接?
void DoSomething()
{
var worker = new Worker();
var start = new ThreadStart(worker.DoStuff);
var thread = new Thread(start);
thread.Start();
// do something else...
// who knows how long it'll take...
// exit without calling thread.Join()