如何将收到的字符串与表单中的预加载字符串进行比较

时间:2018-08-18 20:51:42

标签: c# forms

我是C#的新手,我也是Form的新手。我目前正在与一个项目一起工作,在该项目中,我创建了一个主机程序,该程序应从另一个程序接收一个字符串(A12345)。我从其他程序收到的字符串将出现在listbox3中,并且我编写了一个代码,用于将要接收的字符串与我添加的字符串进行比较,如果字符串匹配,则在listbox4中写入“匹配”。但是在我设法从另一个程序发送字符串之前,该程序会检查是否匹配。发送字符串后,如何设法再次检查程序?

private void button4_Click(object sender, EventArgs e)
{
    if (listBox3.Items.Equals("A12345"))
        listBox4.Items.Add("Match");
    else
        listBox4.Items.Add("No match");
}

请别笑,但我也尝试过:

bool myBool = true;
while (myBool)
{

    if (listBox3.Items.Equals("A9999999-K999999999"))
    {
        listBox4.Items.Add("EÖ");
        myBool = false;
    }
}

2 个答案:

答案 0 :(得分:0)

使用概念计时器来启动它,并在单击检查/按钮以停止它的同时检查结果。我正在使用Contain(obj)方法获取您的代码,它的工作原理很好,可以遵循,

string otherProgramString = "A12345";
    private void timer1_Tick(object sender, EventArgs e)
    {
        if (listBox3.Items.Contains(otherProgramString))
            listBox4.Items.Add("Match");
        else
            listBox4.Items.Add("No match");
    }
    void SetStringFromOtherProgram(string value)
    {
        otherProgramString = value;
    }
    private void StartTimer_Click(object sender, EventArgs e)
    {
        timer1.Interval = 1;
        timer1.Start();
    }

    private void EndTimer_Click(object sender, EventArgs e)
    {
        timer1.Stop();
        timer1.Interval = 100;
    }

答案 1 :(得分:0)

从另一个应用程序发送字符串并在您的应用程序中接收它称为事件,您需要一个用于处理此事件的函数,称为事件处理程序和您的代码

 if (listBox3.Items.Equals("A12345"))
      listBox4.Items.Add("Match");
else
      listBox4.Items.Add("No match");

应该在此事件处理程序中,如果您告诉我从另一个应用程序向您的应用程序发送字符串的确切身份,我可以提供一个代码示例