delegate void CompleteDelegate(string msg, string time);
private void Complete(string msg, string time)
{
MessageBox.Show(msg);
//ControlsEnabled(true);
this.labMsg.Text = string.Format("時間:{0}", time);
}

private void ff(List<string> sheetNameList)

Thread td = new Thread(() => { ConvertThread(sheetNameList); });
td.Start();
}

private void ConvertThread(List<string> sheetNameList)
{
CompleteDelegate cd = new CompleteDelegate(this.Complete);
BusinessLogical bl = new BusinessLogical();
DateTime dt1 = DateTime.Now;
string msg = bl.Convert(txtOriginalPath.Text, txtOutputPath.Text, sheetNameList);
DateTime dt2 = DateTime.Now;
this.Invoke(cd, new object[] { msg, (dt2 - dt1).ToString() });

}