如何在状态栏动态显示“正在加载数据......”? 如何在状态栏动态显示“正在加载数据......”?要求是“正在加载数据”这几个字不动,而后面的点号在动,即一会儿三个点号,一会儿六个点号。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 基于事件的驱动每次状态改变的时候就改label.textlabel.text="正在加载数据."label.text="正在加载数据..."label.text="正在加载数据......" 用个timer或在加载数据过程中来设置吧;至于三个点和六个点的问题嘛,你可以这样:string str1="正在加载数据";string str2="...";string str3="... ...";int i=0;if(++i%2==0){ 状态栏的.text=str1+str2; i=0;}else{ 状态栏的.text=str1+str3;}其实还有更简单的方法,自己想想吧; 各位高手:用timer怎么写啊?能给出具体一些的代码吗? timer t=new timer()t.interval=1000;//假设把结果显示到label中,名字设为:label1;int i=0;t.tick+=delegate(sender,e){if(++i%2==0){ label1.text=str1+str2; i=0;}else{ label1.text=str1+str3;}};t.Enabled=true; to lianshaohua:这样会一直显示下去吧?加载完了还在显示? 这是timer和label都在同一UI线程中,否则还需要InvorkRequired的Invoke(); 用 windows的timer,timer有三种,用这种。写好timer.tick事件就好了。 正解!后边的timer用法也是可以的 加载完了你就把Timer的实例t停掉呀,Timer t=new Timer();放到类中,不要写在方法中,这样就可以在类的其它方法中调用t了 在load里加this.Tag = 0; private void timer_Tick(object sender, EventArgs e) { this.Tag = (int)this.Tag + 1; if ((int)this.Tag > 6) { this.Tag = 0; } this.Text = "正在加载数据" + new string('.', (int)this.Tag); } 加载完毕后,设置timer.enable=false; 谢谢llsen 的热情相助,提出的方法也不错。LCL_data 的方法比较简单实用,但是这个this.Tag是没有必要的,我用了一个int变量来代替。hope250 提出的语句有个小错误,应为timer.Enabled=false; label.text="正在加载数据." label.text="正在加载数据..." label.text="正在加载数据......" c/s服务器与客户端通信 SQL问题 急~~Tabcontrol里的任何一页选项卡有输入操作则飘红选项卡? C#的OWC组件做出的曲线图问题!! DataGrid 论坛里的积分 和下载积分是一回事吗? duwamish 7.0 的一个问题 Microsoft Visual Studio 2008窗体开不开 那位大虾能详尽展示C#指针的用法——实现链表? 不胜感激! 哪位高手能在我的程序上直接改正我的数据库修改问题, 关于Assembly.Load或LoadFile之后,如何Unload的问题 如何在程序中添加动画?
至于三个点和六个点的问题嘛,你可以这样:
string str1="正在加载数据";
string str2="...";
string str3="... ...";int i=0;
if(++i%2==0)
{
状态栏的.text=str1+str2;
i=0;
}else
{
状态栏的.text=str1+str3;
}
其实还有更简单的方法,自己想想吧;
能给出具体一些的代码吗?
t.interval=1000;//假设把结果显示到label中,名字设为:label1;int i=0;
t.tick+=delegate(sender,e){
if(++i%2==0)
{
label1.text=str1+str2;
i=0;
}else
{
label1.text=str1+str3;
}
};t.Enabled=true;
这样会一直显示下去吧?加载完了还在显示?
写好timer.tick事件就好了。
后边的timer用法也是可以的
加载完了你就把Timer的实例t停掉呀,
Timer t=new Timer();
放到类中,不要写在方法中,这样就可以在类的其它方法中调用t了
private void timer_Tick(object sender, EventArgs e)
{
this.Tag = (int)this.Tag + 1;
if ((int)this.Tag > 6)
{
this.Tag = 0;
}
this.Text = "正在加载数据" + new string('.', (int)this.Tag);
}
LCL_data 的方法比较简单实用,但是这个this.Tag是没有必要的,我用了一个int变量来代替。
hope250 提出的语句有个小错误,应为timer.Enabled=false;