Введите код для всех нажатий кнопок - PullRequest
0 голосов
/ 06 июня 2018

Существует код для загрузки текста с URL-адреса

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 голосов
/ 06 июня 2018

Если вы хотите, чтобы один и тот же код использовался из разных обработчиков событий, вы можете просто создать метод:

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 событий.Однако я бы пересмотрел дизайн пользовательского интерфейса в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...