Inheritance: System.Windows.Forms.UserControl
 /// <summary>
 /// UIのセットアップを行います
 /// </summary>
 /// <param name="ui"></param>
 public void setupUi(ProgressBarWithLabelUi ui)
 {
     if (ptrUi == null)
     {
         ptrUi = ui;
     }
 }
Example #2
0
        /// <summary>
        /// ジョブを追加します.objで指定したオブジェクトの,名前がnameであるメソッドを呼び出します.
        /// 当該メソッドは,戻り値は任意,引数は( WorkerState, Object )である必要があります.
        /// また,当該メソッドは第一引数で渡されたWorkerStateのインスタンスのisCancelRequestedメソッドを
        /// 監視し,その戻り値がtrueの場合速やかに処理を中止しなければなりません.その際,処理の中止後にreportCompleteの呼び出しを
        /// 行ってはいけません.
        /// </summary>
        /// <param name="obj">メソッドの呼び出し元となるオブジェクト</param>
        /// <param name="method_name">メソッドの名前</param>
        /// <param name="job_description">ジョブの概要</param>
        /// <param name="job_amount">ジョブの処理量を表す,何らかの量.</param>
        /// <param name="argument">メソッドの第二引数</param>
        public void addJob(Object obj, string method_name, string job_description, double job_amount, Object argument)
        {
            // プログレスバーのUIを作成
            ProgressBarWithLabelUi ui    = new ProgressBarWithLabelUi();
            ProgressBarWithLabel   label = new ProgressBarWithLabel();

            label.setupUi(ui);
            label.setText(job_description);
            // フォームのビューにUIを追加
            ptrUi.addProgressBar(ui);

            // ラベルのリストに登録
            int index = mLabels.Count;

            mLabels.Add(label);
            mMemManager.add(label);

            // スレッドを作成して起動(platform依存)
            FormWorkerJobArgument arg = new FormWorkerJobArgument();

            arg.invoker   = obj;
            arg.name      = method_name;
            arg.arguments = argument;
            arg.index     = index;
            BackgroundWorker worker = new BackgroundWorker();

            worker.WorkerReportsProgress = true;
            worker.DoWork             += new DoWorkEventHandler(worker_DoWork);
            worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
            worker.ProgressChanged    += new ProgressChangedEventHandler(worker_ProgressChanged);
            mThreads.Add(worker);

            arg.state = new FormWorkerJobStateImp(worker, job_amount);
            mArguments.Add(arg);
        }
        /// <summary>
        /// プログレスバーをこのフォームに追加します.
        /// </summary>
        /// <param name="ui"></param>
        public void addProgressBar(ProgressBarWithLabelUi ui)
        {
            int draft_width = flowLayoutPanel1.Width - 10 - SystemInformation.VerticalScrollBarWidth;

            if (draft_width < 1)
            {
                draft_width = 1;
            }
            ui.Width = draft_width;
            //ui.Anchor = AnchorStyles.Left | AnchorStyles.Right;
            //ui.Dock = DockStyle.Top;
            flowLayoutPanel1.Controls.Add(ui);
        }
 /// <summary>
 /// 追加されたプログレスバーをこのフォームから削除します
 /// </summary>
 /// <param name="ui"></param>
 public void removeProgressBar(ProgressBarWithLabelUi ui)
 {
     flowLayoutPanel1.Controls.Remove(ui);
 }
Example #5
0
 /// <summary>
 /// プログレスバーをこのフォームに追加します.
 /// </summary>
 /// <param name="ui"></param>
 public void addProgressBar( ProgressBarWithLabelUi ui )
 {
     int draft_width = flowLayoutPanel1.Width - 10 - SystemInformation.VerticalScrollBarWidth;
     if ( draft_width < 1 ) {
         draft_width = 1;
     }
     ui.Width = draft_width;
     //ui.Anchor = AnchorStyles.Left | AnchorStyles.Right;
     //ui.Dock = DockStyle.Top;
     flowLayoutPanel1.Controls.Add( ui );
 }
Example #6
0
 /// <summary>
 /// 追加されたプログレスバーをこのフォームから削除します
 /// </summary>
 /// <param name="ui"></param>
 public void removeProgressBar( ProgressBarWithLabelUi ui )
 {
     flowLayoutPanel1.Controls.Remove( ui );
 }