在我的应用程序中,我在一个线程中执行大量任务,例如将查询倍数查询到大数据库。 我创建了一个对话框(自定义表单),其中有一个进度条和状态栏,向最终用户显示你做了什么软件,我可以将进度状态与callbackmode同步而没有问题。
我的问题是如何控制此对话框(自定义窗体)在模式中显示,直到线程执行,并且可以在线程最终化时关闭。
答案 0 :(得分:1)
在调用ShowModal()
之前启动线程,或者让表单的OnShow
事件启动该线程。使用线程的OnTerminate
事件(在主线程中运行)到Close()
表单,这将导致ShowModal()
退出。当线程正在运行时,它可以使用TThread.Synchronize()
或自定义窗口消息来根据需要更新表单。