我正在嘗試演示 WPF 中的檔案傳輸,以便它實時重繪 螢屏并顯示當前資料。我的要求是它應該顯示正在傳輸的當前檔案。這是我寫的代碼。
public MainWindow()
{
InitializeComponent();
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(1);
timer.Tick = tick_event;
timer.Start();
}
private void tick_event(object sender, EventArgs e)
{
for (int i = 0; i < 60; i )
{
txtName.Text = "Transfering file no. " i.ToString();
}
}
我嘗試過的是例如有 60 個檔案,螢屏顯示正在傳輸的檔案。但是,當我運行這段代碼時,它只顯示最后一個檔案,即第 59 個檔案。我可以在這里做哪些改變來完成這項作業?提前致謝。
uj5u.com熱心網友回復:
當你說
它只顯示了最后一個檔案,即第 59 個檔案
這是因為當事件觸發時,它會從 0 計數到 59,并且會將這些數字毫無延遲地寫入txtName. 結果是您只能看到最新的書面號碼。
您應該設定一個計數器,并在計時器事件中只寫入計數器變數。
DispatcherTimer timer = new DispatcherTimer();
private int filesCopied = 0;
public MainWindow()
{
InitializeComponent();
timer.Interval = TimeSpan.FromSeconds(1);
timer.Tick = tick_event;
timer.Start();
}
private void tick_event(object sender, EventArgs e)
{
filesCopied ;
txtName.Text = "Transfering file no. " filesCopied.ToString();
if (filesCopied >= 60) timer.Stop();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/489993.html
