编写所有按钮的代码单击

时间:2018-06-06 13:18:48

标签: c# winforms button

有一个代码可以从网址

下载文本
string url = textBox1.Text;
string address = @url;
string newText = null;

HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
request.Credentials = CredentialCache.DefaultCredentials;

using (var response = request.GetResponse())
{
    using (var reader = new StreamReader(response.GetResponseStream()))
    {
        newText = reader.ReadToEnd().ToLower();
    }
}

我尝试制作一个Windows窗体应用程序,并且有许多按钮,每个按钮包含相同的代码,每个按下按钮需要20秒

private void button1_Click(object sender, EventArgs e)
{
    // same code for  download text
    // some code where I use only "newText"
}

我该如何写"下载代码"马上看到所有按钮" newText"?

1 个答案:

答案 0 :(得分:0)

如果您希望从不同的事件处理程序使用相同的代码,您只需创建一个方法:

public string GetNewText(string url)
{
    HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
    request.Credentials = CredentialCache.DefaultCredentials;

    using (var response = request.GetResponse())
    {
        using (var reader = new StreamReader(response.GetResponseStream()))
        {
            return reader.ReadToEnd().ToLower();
        }
    }
}

然后在您的事件处理程序中调用方法:

private void button1_Click(object sender, EventArgs e)
{
    string newText = GetNewText(textBox1.Text);
    // do something with newText
}

如果您确实想要为所有按钮运行完全相同的代码,仅此而已,您可以为其Click事件分配相同的事件处理程序。但是,在这种情况下,我会重新考虑用户界面设计。