private void SetTerget(enmLevel lv) { DateTime timeBase = DateTime.Now; int secBase = timeBase.Second; int secTarget = ((secBase - secOffset + secMinRemain + (secTargetUnit - 1)) / secTargetUnit * secTargetUnit) + secOffset; timeTarget = timeBase.AddSeconds(secTarget - secBase); timeTarget = timeTarget.AddMilliseconds(-timeBase.Millisecond); // speak check request if ((timeTarget - timeBase).TotalSeconds > iSpeak10) { bDoneSpeak10 = false; } // progress reset progressBar1.Value = 0; // timer timerTick.Start(); StringBuilder sbOut = new StringBuilder(); // pre sbOut.Append(strPre); // level if (strLevel.ContainsKey(lv)) { sbOut.Append(strLevel[lv]); } else { sbOut.Append("??"); } // mid sbOut.Append(strMid); // time sbOut.Append(timeTarget.ToString(strTimeFormat)); // post sbOut.Append(strPost); // show text textNext.Text = sbOut.ToString(); // write file WriteFile(); }