请告诉我如何在 c# 中为电报机器人制作这样的按钮(“电影标题”):
主页
/
user-511876
Артём Дадашьянц's questions
有这个代码:
class Program
{
static async Task Main()
{
await DownloadAsync();
}
static async Task DownloadAsync()
{
var options = new ProgressBarOptions
{
ProgressCharacter = '─',
ProgressBarOnBottom = true
};
const int totalTicks = 100;
using (WebClient wc = new WebClient())
{
var pbar = new ProgressBar(totalTicks, "Initial message", options);
wc.DownloadProgressChanged += (s, e) => { pbar.Tick(e.ProgressPercentage,"Download XML Plugin..."); };
await wc.DownloadFileTaskAsync(new Uri("http://dev.osel.pp.ua/Consulo/Plugins/com.intellij.xml_2961.zip"),"/home/ketronix/xml.tar.gz");
};
}
}
Main
就个人而言,在我看来,该方法具有类型这一事实Task
并不好。如何做到这一点,void
同时在调用文件下载方法时,在单独的线程中绘制进度条并与下载进度同步?事实上,你只需要做一些事情而不是Task
- void
,同时继续工作。
谢谢大家。
有这个代码:
using System.ComponentModel;
using System.Net;
using System.Net.Mime;
using ShellProgressBar;
class Program
{
static void Main()
{
Download();
}
static void Download()
{
const int totalTicks = 100;
var options = new ProgressBarOptions
{
ProgressCharacter = '─',
ProgressBarOnBottom = true
};
using (WebClient wc = new WebClient())
{
var pbar = new ProgressBar(totalTicks, "Initial message", options);
wc.DownloadProgressChanged += (s, e) => { pbar.Tick(e.ProgressPercentage,"Download XML Plugin..."); };
wc.DownloadFileAsync(new Uri("http://dev.osel.pp.ua/Consulo/Plugins/com.intellij.xml_2961.zip"),"/home/ketronix/xml.tar.gz");
Console.ReadKey();
};
}
}
它可以工作,但我希望程序在下载结束时停止工作。换句话来说——现在程序在加载后等待回车关闭,怎么可能没有更多的代码,能不能做到不等待进入,如果没有更多的代码,会被砍吗?如果代码是 - 继续工作?谢谢大家。