大家在执行一些控制台程序的时候,应该都遇到过比如说这个程序执行的时间比较长的情况,此时很多程序都会在控制台不断输出如 ... 使用户知道程序还在运行中,这个 ... 是运动的,就是说一直在某一行 输出 ... 然后删除 ... ,接着再输出 ...,直至程序结束。如果我说的不够清楚的话,那就提我的要求吧,我希望是在执行控制台程序的时候,让用户明白当前程序执行的状态,但我不希望一直在控制台循环的换行打印,希望信息循环的显示在一行。
查MSDN没有相关的,肯求各位帮忙。
查MSDN没有相关的,肯求各位帮忙。
解决方案 »
- Windows XP Embedded系统中 C#调用DLL出错
- C# 中使用Oracle语句时报错
- TCP阻塞式发送几个字节,没有接收方也会立即返回发送成功!
- gridview显示问题
- c#中vs2003或2005的代码格式化是什么快捷键
- 【求助】在局域网中,已知某台计算机的IP,如何在服务器上(任何一台机器上)发送消息到已知IP的计算机
- treeview疑难问题!
- 高分求b/s结构的解决方案
- 请问通过窗体的TransparencyKey,如何制作不规则窗体?
- 要生成一定排版格式的xml文檔, 該如何使用xmlTextWriter來寫?
- 怎么自己定义一个按钮,可以实现日历控件的下个月或上个月?我用的VS2003
- this.pictureBox.MouseUp += this.*** 的问题
Console.WriteLine
Console.SetCusorPosition这三个方法就可以完成你的功能了,
Console.Write(".")
计数,判断
满时,SetCursorPosition
刚查了下,此方法在.net2.0的时候才提供,.net1.1没有啊,各位,继续求助。
建立一个全局的状态值(作用计算完成任务的程序)
一个线程完成你的任务 。完成的时候 在一些地方修改你定义的全局状态值
另一个线程 读取状态值 根据他的值显示 ..的数量,然后Thead.sleep(1000)一般窗体都是这样实现的。
using System.Collections.Generic;
using System.Text;
using System.Threading;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int i = 10;
char backchar = (char)8;
while (true)
{
for (int y = 0; y < 5; y++)
{
for (int x = 0; x < i; x++)
{
Console.Write(".");
Thread.Sleep(100);
}
for (int x = 0; x < i; x++)
{
Console.Write(backchar);
Console.Write(" ");
Console.Write(backchar);
Thread.Sleep(100);
}
}
//if (Console.ReadLine() == "quit") break;
}
}
}
}