设计一小程序现实从1加到100的执行过程,我用time_tick去显示输出,
可别人说那也不是实时的,需要把间隔设置得足够小(不停地刷新)才能比较精细地显示执行结果,
建议使用委托和事件来实现,
可我委托事件用的不是很多,求思路,详细点更好
下面是我的实现过程:
Number.cs
class Number
{
private int from; //开始数
private int to; //结束数
private static int temp = 1;
private string str;
public static ArrayList list = new ArrayList(100);
public Number(int i, int j)
{
from = i;
to = j;
}
public void print(int k)
{
str =string .Format ("{0}+{1}={2}\n",temp ,k+1,temp +k+1);
temp += k + 1;
list.Add(str);
}
public void Add()
{
while (from <= to - 1)
{
print(from);
from++;
} }
from.sc private void btnOK_Click(object sender, EventArgs e)
{
Number num = new Number(int.Parse(txtNumber1.Text), int.Parse(txtNumber2.Text));
num.Add();
} private void timer1_Tick(object sender, EventArgs e)
{
if ( i< Number.list.Count)
{
lstBox.Items.Add(Number.list[i]);
i++;
}
}
可别人说那也不是实时的,需要把间隔设置得足够小(不停地刷新)才能比较精细地显示执行结果,
建议使用委托和事件来实现,
可我委托事件用的不是很多,求思路,详细点更好
下面是我的实现过程:
Number.cs
class Number
{
private int from; //开始数
private int to; //结束数
private static int temp = 1;
private string str;
public static ArrayList list = new ArrayList(100);
public Number(int i, int j)
{
from = i;
to = j;
}
public void print(int k)
{
str =string .Format ("{0}+{1}={2}\n",temp ,k+1,temp +k+1);
temp += k + 1;
list.Add(str);
}
public void Add()
{
while (from <= to - 1)
{
print(from);
from++;
} }
from.sc private void btnOK_Click(object sender, EventArgs e)
{
Number num = new Number(int.Parse(txtNumber1.Text), int.Parse(txtNumber2.Text));
num.Add();
} private void timer1_Tick(object sender, EventArgs e)
{
if ( i< Number.list.Count)
{
lstBox.Items.Add(Number.list[i]);
i++;
}
}
{
int Sum = 0;
for (int i =0; i <= 100; i++)
{
int x = Sum;
Sum=Sum+i; Console.WriteLine("{0}+{1}={2}",x,i,Sum);
Thread.Sleep(100);
}
}
不知道为什么一个简单的问题到你这就成了那么复杂的计算了
public void print(int k)
{
str =string .Format ("{0}+{1}={2}\n",temp ,k+1,temp +k+1);
temp += k + 1;
lstBox.Items.Add(str);
Application.DoEvents();
}