方法正在执行,但不更改控件



我有2个类。 从我的类 1 开始,我在类 2 中使用类 2 中的一些方法运行 10 个线程。

现在线程正在调用我的类 1 中的一个方法,方法将要执行,用消息框选中了这一点。但是我还有一个代码行,用于将一些文本附加到文本框中,并且没有执行。

我已经用调用尝试过了。

这里有一些片段:

private void LaunchButton_Click(object sender, EventArgs e)
{
Scanner s = new Scanner(IPText.Text, Convert.ToInt32(Number1Text.Text), Convert.ToInt32(Number2Text.Text), Convert.ToInt32(TimeoutText.Text));
s.start(Convert.ToInt32(ThreadsText.Text));
}

在此代码段中,我在类 2 中调用 start 方法。

这个方法被类 2 的线程调用:

public void AktuellerNummer(string Nummer)
{
LogText.Invoke(new Action(() =>
{
LogText.AppendText("Checking: " + Nummer);
LogText.ScrollToCaret();
}));
}

以下是线程如何调用该方法,,AktuellerNummer":

Class1 class1 = new Class1();
class1.AktuellerZahl(Zahl.ToString());

电话后什么都没有附加,你们中的一些人知道原因吗?

此致敬意。

在事件处理程序中的测试应用程序上使用此代码进行按钮单击,它似乎工作得很好。文本框按预期填充了行,可能会给您一些尝试的想法?

new Thread(() =>
{
for(int i = 1; i < 20; i++) // simple for loop to simulate different numbers
{
Invoke(new Action(() =>
{
textBox1.AppendText(string.Format("Checking: {0}{1}", i, Environment.NewLine));
textBox1.ScrollToCaret();
}));
Thread.Sleep(150); // slight delay so we can see things being populated
}
}).Start();

最新更新