我可以调用另一个表单的任务吗?

时间:2017-09-27 09:02:39

标签: c# task

在form1中,有两个函数,一个用于按钮的点击事件

SELECT * FROM `episodes` ORDER BY `ID`, `name` DESC

另一个是任务

    private void bQuery_Click(object sender, EventArgs e)
    {
        string sPrefix = tbPrefix.Text.Trim();
        QueryAll(sPrefix);
    }

现在我需要在form2某个函数中调用form1的任务,例如

    async Task QueryAll(string sPrefix)
    {
    }

我知道这句话

            string prefix = "abc";

            frm = new form1();
            frm.ShowDialog();
            frm.Dispose();
            frm.QueryAll(sPrefix);

无法编译,只是为了表明我想做什么,任何人都知道如何调用此任务" QueryAll" ?谢谢你的帮助

1 个答案:

答案 0 :(得分:2)

这将是任务

  public Task QueryAll(string sPrefix)
    {
        return Task.Run(() =>
        {
            //code here
            var foo = sPrefix;
        });
    }

然后

 frm = new form1();
 frm.QueryAll(sPrefix).GetAwaiter().GetResult();