菜鸟又来了......

RichardSzwz 2008-07-04 04:50:29
请问各位大侠,我做了一个操作数据库的小程式,由于数据量较大,加载时要用大概1分钟,我想加一个功能就是在加载时会显示一个数据加载中,请稍等的字样,数据加载好后字样消失,已免User以为是死机!该怎么加呢!

请高手指教一下!
...全文
192 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
qjlsharp 2008-07-11
  • 打赏
  • 举报
回复
创建进度条
RichardSzwz 2008-07-11
  • 打赏
  • 举报
回复
没人给个实际点的例子啊???
deknight 2008-07-07
  • 打赏
  • 举报
回复
ProgressBar
RichardSzwz 2008-07-07
  • 打赏
  • 举报
回复
楼上可以说的清楚一点吗?
我用你的代码没有测试成功!
while(ReadData) //Read Data 
{
......
this.ProgressBar.PerformStep;
}

这一段会报错!
syl2000 2008-07-07
  • 打赏
  • 举报
回复
笔误更正:上面的读取数据的类

读取数据的类
public class ReadData
{
public System.Windows.Forms.ProgressBar progressBar;

public ReadData()
{
}
public void myThreadProc()
{
this.progressBar.Minimum = 1;
this.progressBar.Maximum = iMaxLoop; iMaxLoop由你根据情况设置
this.progressBar.Step = 1;
this.progressBar.Value = 1;

while(ReadData) //Read Data
{
......
this.ProgressBar.PerformStep;
}
}
}
syl2000 2008-07-07
  • 打赏
  • 举报
回复
最好用多线程的方法!否则在读取大数据量的时候,也会出现不响应用户的情况!

可以创建一个进度条,将进度条传递给读取数据的线程,由该线程对进度条进行操作,数据读完时进度条达到100%,这样的界面才算是对用户友好的界面哦!具体示例如下

主程序:
增加引用:
using System.Threading;
private void button1_Click(object sender, System.EventArgs e)
{
Thread readThread;
ReadData read_data = new ReadData();
read_data.progressBar = this.progressBar1;
readThread = new Thread(new ThreadStart(read_data.myThreadProc));
readThread.Start();
}

读取数据的类
public class CCTV
{
public System.Windows.Forms.ProgressBar progressBar;

public CCTV()
{
}
public void myThreadProc()
{
this.progressBar.Minimum = 1;
this.progressBar.Maximum = iMaxLoop; iMaxLoop由你根据情况设置
this.progressBar.Step = 1;
this.progressBar.Value = 1;

while(ReadData) //Read Data
{
......
this.ProgressBar.PerformStep;
}
}
}
RichardSzwz 2008-07-07
  • 打赏
  • 举报
回复
那如果,只加载当天的数据,Sql该如何写呢??
select * from table where DateTime = GetDate()


对吗??
wheeler 2008-07-06
  • 打赏
  • 举报
回复
继续发挥下,看看人家MS的word,任你1K页,一万页,人家先把第一页打开再说,后面的需要时再加载(或者空闲时加载)。
wheeler 2008-07-06
  • 打赏
  • 举报
回复
LS的都是治标不治本的办法!!!

[Quote=引用楼主 samql 的帖子:]
请问各位大侠,我做了一个操作数据库的小程式,由于数据量较大,加载时要用大概1分钟,我想加一个功能就是在加载时会显示一个数据加载中,请稍等的字样,数据加载好后字样消失,已免User以为是死机!该怎么加呢!

请高手指教一下!
[/Quote]

请注意引用红色部分,既然是小程序,哪来那么多数据???LZ确定那些数据一开始就都必须加载吗?

启动时,加载必须的数据就行,然后在运行过程中,需要什么再加载什么。
pp_shy 2008-07-06
  • 打赏
  • 举报
回复
你可以弹出一个模态对话框的窗体来显示“数据加载中”或“gif滚动进度条图片”
等到数据加载完成后,关闭模态对话框的窗体
关于处理模态对话框窗体的方法,看看这里:
http://hi.baidu.com/xdragon/blog/item/b845c650b745f0591138c253.html
RichardSzwz 2008-07-06
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 namhyuk 的回复:]
我怎么看都觉得楼主像是在说winform.
是不是啊,楼主?
[/Quote]

是的,
namhyuk 2008-07-06
  • 打赏
  • 举报
回复
我怎么看都觉得楼主像是在说winform.
是不是啊,楼主?
RichardSzwz 2008-07-05
  • 打赏
  • 举报
回复
怎么没人回答我啊???
兄弟们,帮我顶起来啊!
RichardSzwz 2008-07-05
  • 打赏
  • 举报
回复
哥们,是C#的WINFORM的程序啊!
ilxl520 2008-07-04
  • 打赏
  • 举报
回复
把楼上的“加载中......”改成一个gif的图片让他一直在那........
xiaojing7 2008-07-04
  • 打赏
  • 举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<script type="text/javascript">
var Show=function(){
document.getElementById("one").style.display="none";
alert("加载完毕");
};
window.onload=function()
{
setTimeout("Show()",2000)
};
</script>
<BODY>
<div id="one" style="">加载中......</div>
</BODY>
</HTML>
踏雪听雨 2008-07-04
  • 打赏
  • 举报
回复
javascript增加一个层,页面刷新后,层会自动消息

onclientclick="showLoading()"
mohugomohu 2008-07-04
  • 打赏
  • 举报
回复
直接弄张gif图片!

110,499

社区成员

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

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

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