lable显示问题

wujun_dry 2010-08-14 01:19:01

为什么我那个label显示内容要等到进度条到尽头的时候才改变过来啊!

帮帮忙啊!代码如下:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;

namespace myUpload
{
public partial class form1 : Form
{
public form1()
{
InitializeComponent();
}
private FtpStatusCode UploadFun(string fileName)
{
Stream requestStream = null;
FileStream fileStream = null;
FtpWebResponse uploadResponse = null;

//显示原文件路径
label1.Text = fileName;
//构造目标路径
FileInfo fileInf = new FileInfo(fileName);
string uploadUrl = "ftp://192.168.4.88/tempUpload/" + fileInf.Name;

try
{
//连接ftp服务器
FtpWebRequest uploadRequest = (FtpWebRequest)WebRequest.Create(uploadUrl);
uploadRequest.Method = WebRequestMethods.Ftp.UploadFile;
uploadRequest.Proxy = null;
NetworkCredential nc = new NetworkCredential();
nc.UserName = "dry";
nc.Password = "123456";
uploadRequest.Credentials = nc;

//上传
requestStream = uploadRequest.GetRequestStream();
fileStream = File.Open(fileName, FileMode.Open);
byte[] buffer = new byte[1024];
int bytesRead, i, t;

i = Convert.ToInt32(fileStream.Length);
t = i / 1024;
progressBar1.Value = 0;
progressBar1.Maximum = t + 2;
while (true)
{

bytesRead = fileStream.Read(buffer, 0, buffer.Length);
if (bytesRead == 0)
{
progressBar1.Value = progressBar1.Maximum;
MessageBox.Show(fileName + "文件上传成功!");
break;

}
else
{
requestStream.Write(buffer, 0, bytesRead);
progressBar1.Value++;

}

}
requestStream.Close();
uploadResponse = (FtpWebResponse)uploadRequest.GetResponse();
return uploadResponse.StatusCode;

}
catch (UriFormatException ex)
{
MessageBox.Show(ex.Message);
}
catch (IOException ex)
{
MessageBox.Show(ex.Message);
}
catch (WebException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (uploadResponse != null)
uploadResponse.Close();
if (fileStream != null)
fileStream.Close();
if (requestStream != null)
requestStream.Close();

}
return FtpStatusCode.Undefined;
}
private void upLoadButton_Click(object sender, EventArgs e)
{
UploadFun(@"D:\NBA\tmac_dunking.flv");
UploadFun(@"D:\NBA\tamc nba成长之路.flv");
}
}
}

...全文
114 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wujun_dry 2010-08-14
  • 打赏
  • 举报
回复
谢谢!!wuyq11(人生如梦)!!
wuyq11 2010-08-14
  • 打赏
  • 举报
回复
使用
Application.DoEvents();
Label1.Refresh()
Application.DoEvents()处理当前在消息队列中的所有Windows 消息。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧