0
using System.Windows.Forms;
using System.Net;
using System;
using System.ComponentModel;

namespace FileDownloadUIClient
{
    public partial class Form1 : Form
    {
        string[] arguments;
        public Form1(string[] args)
        {
            InitializeComponent();
            arguments = args;                
            download();
        }
        public void download()
        {
            if (arguments.Length < 0) { this.Close(); }
            else
            {
                WebClient client = new WebClient();
                client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
                client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);                    
                client.DownloadFileAsync(new Uri(arguments[0]), DateTime.Now.Ticks.ToString() +".bin");
            }
        }        
        void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            double bytesIn = double.Parse(e.BytesReceived.ToString());
            double totalBytes = double.Parse(e.TotalBytesToReceive.ToString());
            double percentage = bytesIn / totalBytes * 100;
            Console.WriteLine( int.Parse(Math.Truncate(percentage).ToString()));
        }
        void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
        {
            Console.WriteLine("Download Completed");
            this.Close();
        }

主な方法:

using System.Windows.Forms;

namespace FileDownloadUIClient
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1(args));
        }
    }
}

この (Windows フォーム アプリケーション) C# プログラムは、ファイルのダウンロード URLをパラメーターとして渡すと開始します。

Ex:
C:\FileDownloadUIClient\bin\Debug>FileDownloadUIClient.exe "http://localhost/myfile.mp4"

しかし、ダウンロードの進行状況またはダウンロードの完了メッセージがコマンド プロンプト ウィンドウに表示されません。

4

4 に答える 4

1

プロジェクトがターゲットになっている場合は、進行状況を表示するためにコンソールが必要Windows Application Formになるように変更します。Console Application


ここに画像の説明を入力

出力タイプがあることを確認してくださいConsole Application。その後、進行状況を適切に表示する必要があります。

于 2013-04-19T14:59:09.503 に答える
1

Windows フォーム上で進行状況を表示する必要がある場合は、ProgressBarコントロールの使用を検討してください。Console他の人がすでに指摘しているように、は使用できません。

于 2013-04-19T15:02:28.217 に答える