b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

C # backgroundworker_C#while 线程等待_backgroundworker

电脑杂谈  发布时间:2017-01-17 23:06:14  来源:网络整理

大家好,

我最近正在研究BackgroundWorker的CancelAsync()事件。

我做的窗体中有两个按钮。当点击“导入”按钮时,实现将EXCEL文件导入到SQL中。

现在想添加一个“取消”按钮,即终止该线程。backgroundworker

查了很多代码,发现跟我的代码思路不太一样。大家基本都是写在循环里面了,而我的代码里好像不太适合添加这种循环来实时判断CancellationPending,所以想请大家帮忙看看。

如果您能再多指点几句,那就更是感激不尽了。

多谢大家。backgroundworker

publicpartialclassForm1:Form

{

intTotal=0;

string[]FileNames;

privateBackgroundWorkerbkWorker=newBackgroundWorker();

publicForm1()

{

InitializeComponent();

bkWorker.WorkerReportsProgress=true;

bkWorker.WorkerSupportsCancellation=true;

bkWorker.DoWork+=newDoWorkEventHandler(DoWork);

bkWorker.ProgressChanged+=newProgressChangedEventHandler(ProgessChanged);

bkWorker.RunWorkerCompleted+=newRunWorkerCompletedEventHandler(CompleteWork);

}

privatevoid导入_Click(objectsender,EventArgse)

{

OpenFileDialogdlg=newOpenFileDialog();

dlg.Title="请选择要导入的文件:";

dlg.Filter="Excel文件(*.xls)|*.xls|所有文件|*.*";

dlg.Multiselect=true;

if(dlg.ShowDialog()==DialogResult.OK)

{

FileNames=dlg.FileNames;

foreach(stringFileNameinFileNames)

{

OleDbConnectionconn=newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;ExtendedProperties=Excel8.0;DataSource="+FileName);

conn.Open();

DataTabletable=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);

for(inti=0;i<table.Rows.Count;i++)

{

stringTableName=table.Rows[i]["TABLE_NAME"].ToString();

if((TableName.Substring(TableName.Length-1,1)=="$")||(TableName.Substring(0,1)=="'"))

{

if((TableName.Substring(TableName.Length-2,1)=="$"))

{

char[]TrimChar={'\''};

TableName=TableName.Trim(TrimChar);

TableName=TableName.Substring(0,TableName.Length-1);


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27008-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 明余庆
      明余庆

      一个搞互联网的能拯救中国的足球

    热点图片
    拼命载入中...