예제 #1
0
 /// <summary>
 /// 导出按钮事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnOutput_Click(object sender, EventArgs e)
 {
     if (this.dgvRear.RowCount < 1)
     {
         return;
     }
     else if(this.dgvRear.Rows[this.dgvRear.RowCount - 1].Cells[10].Value == null)
     {
         MessageBox.Show("表格最后一行没有数据,请进行具体行动选择。");
         return;
     }
     string path = @"D:\RearInventor.txt";
     if (fileHelper == null)
     {
         fileHelper = new FileHelper();
     }
     // 导出文件,成功的场合打开文件,失败则给出提示
     if (fileHelper.ExportToFile(this.dgvRear, path, startMonth, startPoint, startResource, equipPoint))
     {
         if (DialogResult.OK == MessageBox.Show(this,
                                                 "文件导出成功,文件目录:\r\n"
                                                 + path
                                                 + "需要打开吗?",
                                                 "文件打开确认",
                                                 MessageBoxButtons.OKCancel,
                                                 MessageBoxIcon.Question))
         {
             System.Diagnostics.Process.Start(path);
         }
     }
     else
     {
         MessageBox.Show("文件导出失败,请确认" + path +"文件没有被打开,或者"
                         + path.Substring(0,2) + "磁盘已经满了");
     }
 }
예제 #2
0
        /// <summary>
        /// 导入按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnInput_Click(object sender, EventArgs e)
        {
            // 用户选择了文件时
            if (DialogResult.OK == ofdFilePath.ShowDialog())
            {
                // 得到用户指定的文件路径
                string filePath = ofdFilePath.FileName;
                if (fileHelper == null)
                {
                    fileHelper = new FileHelper();
                }
                ArrayList fileContent = fileHelper.ImportFile(filePath);
                // 文件读取成功时
                if (fileContent != null)
                {
                    // 起始月份获得
                    startMonth = parseValue(fileContent[1].ToString());

                    // 起始点数获得
                    string[] stPointValue = fileContent[3].ToString().Split(char.Parse(FileHelper.separative));
                    int i = 0;
                    foreach (string stp in stPointValue)
                    {
                        if (i >= startPoint.Length)
                        {
                            MessageBox.Show("请确认文件是否有误。");
                            return;
                        }
                        startPoint[i] = parseValue(stp);
                        i++;
                    }

                    // 起始资源获得
                    string[] stResourceValue = fileContent[5].ToString().Split(char.Parse(FileHelper.separative));
                    i = 0;
                    foreach (string stp in stResourceValue)
                    {
                        if (i >= startResource.Length)
                        {
                            MessageBox.Show("请确认文件是否有误。");
                            return;
                        }
                        startResource[i] = parseValue(stp);
                        i++;
                    }

                    // 装备点数获得
                    string[] equipPointValue = fileContent[7].ToString().Split(char.Parse(FileHelper.separative));
                    i = 0;
                    foreach (string stp in equipPointValue)
                    {
                        if (i >= equipPoint.Length)
                        {
                            MessageBox.Show("请确认文件是否有误。");
                            return;
                        }
                        equipPoint[i] = parseValue(stp);
                        i++;
                    }

                    // 表格外的内容(包括标题头)删除
                    for (i = 8; i >= 0; i--)
                    {
                        fileContent.RemoveAt(i);
                    }

                    // 清空表数据
                    this.dgvRear.Rows.Clear();
                    // 加载表格内的数据
                    foreach(object item in fileContent)
                    {
                        this.dgvRear.Rows.Add();
                        string[] content = item.ToString().Split(char.Parse(FileHelper.separative));
                        i = 0;
                        foreach(string it in content)
                        {
                            if (i >= this.dgvRear.ColumnCount)
                            {
                                MessageBox.Show("请确认文件是否有误。");
                                return;
                            }
                            this.dgvRear.Rows[this.dgvRear.RowCount - 1].Cells[i].Value = it;
                            i++;
                        }
                    }
                    // 显示到最后一行
                    this.dgvRear.FirstDisplayedScrollingRowIndex = this.dgvRear.RowCount - 1;
                    // 选择最后一行
                    this.dgvRear.Rows[this.dgvRear.RowCount - 1].Selected = true;
                    // 清空具体行动下拉框(基于如6岁不能去赌场此类的考虑)
                    this.cboDetail.Items.Clear();
                    // 行动与具体行动为空,以表格中为准,不可更改
                    this.cboDetail.SelectedItem = null;
                    this.cboAction.SelectedItem = null;
                    // 锁定行动下拉框,不可选状态
                    this.cboAction.Enabled = false;

                    // 显示起始数据
                    // 初始距离6岁的月份数
                    this.tbxmonth.Text = startMonth.ToString();
                    // 初始点数
                    this.tbxqiz.Text = startPoint[0].ToString();
                    this.tbxnal.Text = startPoint[1].ToString();
                    this.tbxzl.Text = startPoint[2].ToString();
                    this.tbxnl.Text = startPoint[3].ToString();
                    this.tbxmq.Text = startPoint[4].ToString();
                    this.tbxpn.Text = startPoint[5].ToString();
                    this.tbxdd.Text = startPoint[6].ToString();
                    this.tbxwx.Text = startPoint[7].ToString();
                    // 装备点数
                    this.tbxepqiz.Text = equipPoint[0].ToString();
                    this.tbxepnal.Text = equipPoint[1].ToString();
                    this.tbxepzl.Text = equipPoint[2].ToString();
                    this.tbxepnl.Text = equipPoint[3].ToString();
                    this.tbxepmq.Text = equipPoint[4].ToString();
                    this.tbxeppn.Text = equipPoint[5].ToString();
                    this.tbxepdd.Text = equipPoint[6].ToString();
                }
                else
                {
                    MessageBox.Show("打开文件出错,请确认文件是否有误。");
                }
            }
        }