First check the control you name exists. If it doesn't, it'll be underlined in red and you'll get an error: "The name 'label1' does exist in the current context"
Make sure you added the control to the right Form, and that it's name has not been changed via the Properties Pane.
But even when you fix that, it won't work: you are setting the value of a string from within a loop - so it will only ever show the last string you assign. If you want to show multiple strings, then try this:
StringBuilder sb = new StringBuilder();
foreach (TelegramBotSharp.Types.Message m in result)
{
if (m.Text == null) return;
MessageTarget target = (MessageTarget)m.Chat ?? m.From;
bot.SendMessage(target, m.Text);
sb.AppendLine(m.Text);
}
label1.Text = sb.ToString();
But even when you fix that...it won't work, because you are trying to access a UI control from a different thread from that which you created it on - and that's not allowed.
Instead, you have to Invoke it:
Control.Invoke Method (Delegate) (System.Windows.Forms)[
^]
I'd be tempted to suggest that you might be better off using a BackgroundWorker and passing messages to display via the ProgressChanged event and displaying them in your UI thread directly.