详细查看了你的问题,完全不需要使用线程sleep的方法。
目前创新互联已为1000+的企业提供了网站建设、域名、虚拟空间、成都网站托管、企业网站设计、大武口网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
在这边,我要给你引入一个概念。就是Form窗体的两个方法。
Form.Show()和Form.ShowDialog()
第一个Show方法运行后,你的主程序还是会进行,你的代码还是会继续进行下去。此时,窗体还是弹出的。
第二个ShowDialog方法运行后,此时,弹出的一个窗体,你不将其关闭,那么,主程序就会一直等待这个窗体关闭后,才执行后面的代码。
所以,你只需要使用showdialog这个方法,即可达到你想要的结果。
那么,如何才能让弹出的窗体不改变呢?很简单
你可以找到窗体的formcloseing事件,在这个事件中,有一个参数:e
这个e有一个属性,就是e.handle,表示是否处理过这个事件了。
这个时候,如果你不想让窗体关闭,你可以写:
e.handle=true,那么表示已经处理过窗体关闭的事件了。
注:有些情况,可能是:e.cancel=true
using
Microsoft.Office.Interop.Excel;
using
Excel
=
Microsoft.Office.Interop.Excel;
Excel.Application
myExcel
=
new
Excel.Application();
Excel.Workbook
excelWorkbook
=
null;//一个Excel文件
Excel.Worksheet
excelSheet
=
null;
myExcel.Application.Workbooks.Open(@"d:\test.xlsx");//你要打开的excel文件路径
//让Excel文件可见
myExcel.Visible
=
true;
excelWorkbook
=
myExcel.ActiveWorkbook;//给worksheect对象添加选择事件:
workSheet.SelectionChange+=excelSheet_SelectionChange;
excelSheet
=
(Excel.Worksheet)excelWorkbook.ActiveSheet;
//重写事件逻辑
private
void
excelSheet_SelectionChange(Range
range)
{
MessageBox.Show("you
select
"+Target.Address);
}
#macro pager totalPage curPage=1 showPageNum=10
#if (showPageNum totalPage)
#local showPageNum = totalPage-1br/
/#if
${showPageNum}
/#macro
解释:global、assign、local(macro参数)、list(由list创建的循环变量如:#list a as x)关系
global 全局变量,在所有命名空间可见
assign 当前命名空间可见
local(macro参数) 局部变量,当前宏内可见
循环变量(#list a as x) 当前循环可见
他们之间的关系 循环变量会隐藏局部变量(local创建的或macro参数)
局部变量(local创建的或macro参数)会隐藏assign(创建的变量)
assign(创建的变量)会隐藏global
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款