private void 開くOToolStripMenuItem_Click(object sender, EventArgs e)
 {
     openFileDialog1.InitialDirectory = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log");
     if (openFileDialog1.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
     {
         try
         {
             FF14LogParser actionReport = new FF14LogParser();
             actionReport.Read(openFileDialog1.FileName);
             bindingSource1.DataSource = actionReport.ds;
             bindingSource1.DataMember = "Anaylzed";
         }
         catch (Exception _e)
         {
             MessageBox.Show(_e.Message);
         }
     }
 }
        private void 開くOToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog1.InitialDirectory = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log");
            if (openFileDialog1.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
            {
                try
                {
                    FF14LogParser _ar = new FF14LogParser();

                    System.Threading.ThreadStart ts = () =>
                    {
                        _ar.Read(openFileDialog1.FileName);
                    };
                    System.Threading.Thread th = new System.Threading.Thread(ts);
                    th.Start();

                    int p = 0;
                    SetStatus(String.Format("ファイルを読み込んでいます・・・{0} ", Path.GetFileName(openFileDialog1.FileName)));
                    Application.DoEvents();
                    System.Threading.Thread.Sleep(100);

                    while (th.IsAlive)
                    {
                        SetProgress(Math.Min(100, 10 * p++), true);
                        System.Diagnostics.Debug.WriteLine(actionReport.Progress);
                        System.Threading.Thread.Sleep(100);
                        Application.DoEvents();
                    }
                    SetProgress(0, false);
                    SetStatus(String.Format("ファイルを読み込んでいます・・・ {0} 完了", Path.GetFileName(openFileDialog1.FileName)));

                    if (MessageBox.Show("読み込んだデータの解析を行いますか?", "再解析", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                    {
                        FF14LogParser ar = new FF14LogParser();
                        ts = () =>
                        {
                            foreach (FFXIVLogDataSet.AnaylzedRow arow in _ar.ds.Anaylzed)
                            {
                                FFXIVLog log = FFXIVLog.CreateLog(arow.TotalSeconds, arow.LogType, arow.ActionType, arow.Body);
                                ar.Add(log);
                            }
                        };

                        th = new System.Threading.Thread(ts);
                        th.Start();

                        while (th.IsAlive)
                        {
                            SetProgress(Math.Min(100, 100 * ar.ds.Anaylzed.Count / _ar.ds.Anaylzed.Count), true);
                            SetStatus(String.Format("解析しています・・・{0}/{1}", ar.ds.Anaylzed.Count, _ar.ds.Anaylzed.Count));
                            Application.DoEvents();
                            System.Threading.Thread.Sleep(500);
                        }
                        SetStatus(String.Format("解析しています・・・{0}/{1}", ar.ds.Anaylzed.Count, _ar.ds.Anaylzed.Count));
                        SetProgress(0, false);
                        Application.DoEvents();

                        actionReport = ar;
                    }
                    else
                    {
                        actionReport = _ar;
                    }
                    SetStatus("表示範囲指定ウィンドウを開いています・・・");
                    Application.DoEvents();
                    データ範囲指定ToolStripMenuItem_Click(this, null);

                }
                catch (Exception _e)
                {
                    MessageBox.Show(_e.Message);
                    actionReport = _processActionReport;
                }
            }
        }