C#等待执行完成后再接着执行后续的,请问要如何设计?

最近要编写一个类似网页自动操作的小程序。。。
程序流程大概是打开一个网页,操作A,等待页面A加载完成,操作B,等待页面B加载完成
请问这里的等待页面要如何制作??
这个程序是一整个流程的。
例如
输入账号
输入密码
点击登录
等待页面加载完成
点用户中心
等待页面加载完成
…………

是需要这样的效果,是windowfrom程序来着。

如果是想实现等待进程
Process p = new Process();
p.WaitForExit();
调用等待画面使用
BackgroundWorker bw = new BackgroundWorker();
bw.DoWork += new DoWorkEventHandler( bw_DoWork );
bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler( bw_RunWorkerCompleted );

m_fmProgress = new fmProgress();
bw.RunWorkerAsync();
m_fmProgress.ShowDialog( this );
m_fmProgress = null;

其中m_fmProgress为窗体,你将窗体的FormBorderStyle设为None,StartPosition设ScreenCenter,在画面设置Label显示内容

bw_DoWork 方法为要进行的动作
比如动态改变等待信息
m_fmProgress.lblDescription.Invoke(
(MethodInvoker) delegate()
{ m_fmProgress.lblDescription.Text = "Processing file ";
}
);
m_fmProgress窗体的lblDescription控件访问权限要设为public

bw_RunWorkerCompleted 动作进行完做的处理
if( m_fmProgress != null )
{
m_fmProgress.Hide();
m_fmProgress = null;
}

由于窗体的ShowDialog方法本身就是等待进程,所以不加入Process管理也可以了
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-11-03
页面加载完成事件不能的单纯的判断页面加载完成事件,因为一个页面若是带有多个框架,那么页面完成事件是多个的,有的变态的页,页面加载事件不断的在发生,所以,呢
页面判断是否完成如下:
1判断某个关键的标签代码是否已经出现
2巧用错误发生try{ }
cathch{},直接操作,若是页面尚未加载完成就会发生错,那么在cathch什么处理你想必你猜到了。。
第2个回答  2009-11-08
等待服务器返回值?
写个循环加个sleep就得了呗
第3个回答  2009-11-08
webBrowser有一个事情叫DocumentCompleted,就是页面加载完成引发.
你可以在这个事件里通过判断是哪个页面实现你想要的操作
第4个回答  2009-11-08
用AJAX应该可以做到,或许多线程也可以

C#等待执行完成后再接着执行后续的,请问要如何设计?
由于窗体的ShowDialog方法本身就是等待进程,所以不加入Process管理也可以了

C#等待执行完成后再接着执行后续的,请问要如何设计?
1判断某个关键的标签代码是否已经出现 2巧用错误发生try{ } cathch{},直接操作,若是页面尚未加载完成就会发生错,那么在cathch什么处理你想必你猜到了。。

c#.net程序修改后断点跟踪仍执行改前代码。
1、在解决方案上>右键>重新生成 2、在解决方案上>右键>清理 3、再调试 上面是解决办法。前提是,断点没有下错。西诶工作室:▲▲▲网站制作,网站设计,网络推广 ▲▲▲ 温馨提示,可以升级开发工具了,西诶工作室的开发人员早就升级到Visual Studio 2012了。

C# Task使用方法
对于任务的其他方法,如Task.Wait()、Task.RunSynchronously、Task.ContinueWith、Task.WhenAny和Task.WhenAll,分别用于等待任务完成、在当前线程运行任务、在任务完成时执行后续操作、等待任意任务完成和等待所有任务完成。任务的取消机制对于长时间任务尤为重要,可以使用CancellationTokenSource。取消任务的机制是轮...

c# 每隔一定时间运行一次
若程序运行完会终止并退出的话,可以用Windows的计划任务,使其定时运行。如果程序一直开着,只想定时运行特定的功能方法,可以用Timer控件。1.首先将要运行的内容写成函数,2.设置Timer的Interval 3.设置Timer的Tick事件,其中执行自定义的方法。4.启动程序,在Form_load事件中调用timer.start()方法。

C# 多线程问题
你的这个问题还真不好处理,线程套线程,还想等待全部完成,如果不想改设计的话,就使用ManualResetEvent这个对象,每次线程创建子线程时,都创建这个对象,保证所有的线程都执行完毕再将阻塞放开。(可采用计数方式,开始记录需要创建多少个线程,再记录一个变量(原子型)每个子线程完成时都将变量值加1,...

C#做的管理系统,多人同时使用问题
不会崩溃,除非程序设计存在缺陷,比如打开数据库连接使用完后没有关闭导致数据库连接池耗尽等 产生的现象一般称之为并发冲突 脏读,比如一个用户修改了一条数据,而此时另一个用户在读取这条数据可能会读取到修改前的数据。 或者比如同时有两个用户在修改同一条数据,数据库中只会存储最后提交的更新,...

C#常用设计模式之结构性设计模式(我还有头发还能学)
结构性设计模式 1、装饰者模式 在装修房屋时,不同功能的组合能增加房屋的实用性。类比在软件系统中,为某个类或对象增加功能时,若依赖“继承”,则会导致子类数量激增。例如,IMarbleStyle表示大理石风格功能,IKeepWarm表示保温接口,IHouseSecurity表示房屋安全接口。在这种情况下,我们的“House”类需要...

C#程序设计执行字典表的填充时候不能正常运行
在这句加个断点,运行到这里的时候,继续单步执行,看到底执行到哪里了。

C# 使用线程池设置每个线程的执行时间,怎样设置结束时间?
NET Framework之上的高级程序设计语言。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

相似回答