/// <summary> /// 単体置換スレッドスタートメソッド /// </summary> private Thread ExecRepStart() { // メインフォーム横幅 int mainFormSizeW = dataStore.MainFormSize.Width; // プログレスバーフォーム frmPrgBar = new FrmPrgBar(); // 事前にロードし、非表示としておく frmPrgBar.Show(); frmPrgBar.Visible = false; // サイズ設定 frmPrgBar.Size = new Size(mainFormSizeW * 3 / 4, 50); // プログレスバーフォーム開始位置 frmPrgBar.StartPosition = FormStartPosition.Manual; /* 独自設定_複数置換からの呼び出し対策 */ // 複数置換とかぶらないように下目に表示 frmPrgBar.Location = new Point(dataStore.MainFormLoca.X + (mainFormSizeW * 1 / 4) / 2, dataStore.MainFormLoca.Y + (dataStore.MainFormSize.Height / 2) - 25); // 置換スレッド処理メソッドインスタンス生成 Thread threadA = new Thread(new ThreadStart(ExecRepThread)); // バックグラウンドフラグ threadA.IsBackground = true; // スレッドスタート threadA.Start(); // スレッド内で最大値設定するためフォーム表示を一瞬遅らせる Thread.Sleep(500); // プログレスバーフォーム表示 frmPrgBar.ShowDialog(); return(threadA); }
/// <summary> /// 複数置換スレッドスタートメソッド /// </summary> private Thread ExecDirRepThStart() { // メインフォーム横幅 int mainFormSizeW = dataStore.MainFormSize.Width; // 複数置換用プログレスバーフォーム frmPrgBarMultRep = new FrmPrgBar(); frmPrgBarMultRep.Show(); frmPrgBarMultRep.Visible = false; // サイズ設定 frmPrgBarMultRep.Size = new Size(mainFormSizeW * 3 / 4, 50); // プログレスバーフォーム開始位置モード frmPrgBarMultRep.StartPosition = FormStartPosition.Manual; /* 独自設定 */ // 中心に表示 frmPrgBarMultRep.Location = new Point(dataStore.MainFormLoca.X + (mainFormSizeW * 1 / 4) / 2, dataStore.MainFormLoca.Y + (dataStore.MainFormSize.Height / 2) - 75); // 親フォームのスレッドから作成のため、表示は裏にいかないのでタスクバー非表示 frmPrgBarMultRep.ShowInTaskbar = false; // 置換スレッド処理メソッドインスタンス生成 Thread threadB = new Thread(new ThreadStart(ExecDirRepThread)); // バックグラウンドフラグ threadB.IsBackground = true; // スレッドスタート threadB.Start(); // スレッド内で最大値設定するためフォーム表示を一瞬遅らせる Thread.Sleep(500); // プログレスバーフォーム表示 frmPrgBarMultRep.ShowDialog(); return(threadB); }
private void FrmPrgBarInit() { // プログレスバーフォームインスタンス生成 fmPrgBar = new FrmPrgBar(); // 事前にロードし、非表示としておく fmPrgBar.Show(); fmPrgBar.Visible = false; // プログレスバーフォーム開始位置 fmPrgBar.StartPosition = FormStartPosition.CenterParent; }
/// <summary> /// コンストラクタ /// </summary> /// <param name="frm1">メインフォームクラス</param> /// <param name="dataStore">データ格納クラス</param> public InportImg(Form1 frm1, DataStore dataStore) { // メインフォーム fm1 = frm1; // プログレスバーフォーム fmPrgBar = new FrmPrgBar(); // 事前にロードし、非表示としておく fmPrgBar.Show(); fmPrgBar.Visible = false; // データ格納クラス dsc = dataStore; }