怎么在dll库中放着计算方法,但时间比较长,为了不感觉程序像是死掉了,怎么运算的进程中,在主界面显示进度条。谢谢
解决方案 »
- C# 怎么把 2012/4/12 0:00:00 变成 2012-04-12 ?
- vs2008 水晶报表打印 如何设置打印高度,达到打印高度后换纸
- 求帮忙将这段JAVA的解析XML文件代码转为C#的!!!
- vs2008 怎么把组建添加到工具箱里面
- Crystal Report报表每次都要求输入密码
- 一个简单的正则表达式的书写
- 在C#window窗体上怎样才能使Listview控件双击它打开选中的该文件
- 我把一个dll用ildasm转成IL文件,什么也不改现在用ilasm转成dll就不行!请高手进来帮帮忙啊!
- 有关打印机设置的问题,请指教,谢谢!
- 请教一个WCF生成元数据的问题,跟DataTable有关
- C#WinForm中如何显示一个指定的窗口?
- 求log4net源码研究的资源
参考这个。
//声明进度条委托事件
public delegate void delegateGetProgress(object sender); //声明一个委托
public class A
{
//利用上面的代理声明一个事件
public event delegateGetProgress GetProgressbar;
/// 取进度事件
public void getProgressbar(object sender)
{ if (GetProgressbar!= null)
{
//调用处理事件的方法
GetProgressbar(sender);
}
}
private int _RunRow = 0; //当前运行的记录位置
private int _totalLines = 0; //文件总行数 public string[] F_AAAAA(string[] source) //原计算用的方法
{
for(inti=0;i<999999;i++)
{
_RunRow = i;
}
}
}
private void btn_Merge_Click(object sender, EventArgs e)
{
txtfile.GetProgress += new delegateGetProgress(txtfile_GetProgress); string[] Value= A.F_AAAAA(FileContent);
} void txtfile_GetProgress(object sender)
{
MessageBox.Show("事件被调用");
}
private void btn_Merge_Click(object sender, EventArgs e)
{
txtfile.GetProgressbar += new delegateGetProgress(txtfile_GetProgressbar); string[] Value= A.F_AAAAA(FileContent);
} void txtfile_GetProgressbar(object sender)
{
MessageBox.Show("事件被调用");
}
public delegate void delegateGetProgress(object sender); //声明一个委托
public class A
{
//利用上面的代理声明一个事件
public event delegateGetProgress GetProgressbar;
/// 取进度事件
public void getProgressbar(object sender)
{ if (GetProgressbar!= null)
{
//调用处理事件的方法
GetProgressbar(sender);
}
}
private int _RunRow = 0; //当前运行的记录位置
private int _totalLines = 0; //文件总行数 public string[] F_AAAAA(string[] source) //原计算用的方法
{
for(inti=0;i <999999;i++)
{
_RunRow = i;
//在这里触发事件就可以了,主界面里注册这个事件就可以得到进度了,这个委托只要传int类型就可以了
GetProgressbar(_RunRow);
}
}
}