trainuil.cs

来自「用C#编写的实现火车查询功能的程序功能比较完整」· CS 代码 · 共 413 行 · 第 1/2 页

CS
413
字号
                //cboChangeTrains.Text = "";
                
            }

            
        }
        

        private void TrainUIL_Load(object sender, EventArgs e)
        {
            lstTrainInfo.Columns.Add("车次", 50, HorizontalAlignment.Center);
            lstTrainInfo.Columns.Add("列车种类", 90, HorizontalAlignment.Center);
            lstTrainInfo.Columns.Add("列车类型", 90, HorizontalAlignment.Center);
            lstTrainInfo.Columns.Add("出发城市", 80, HorizontalAlignment.Center);
            lstTrainInfo.Columns.Add("到达城市", 80, HorizontalAlignment.Center);
            lstTrainInfo.Columns.Add("旅行时间(天)", 100, HorizontalAlignment.Center);
            lstTrainInfo.Columns.Add("里程", 60, HorizontalAlignment.Center);
            lstTrainInfo.Columns.Add("票价", 60, HorizontalAlignment.Center);
            lstTrainInfo.View = View.Details;

            lstTrainCodeInfo.Columns.Add("车次", 60, HorizontalAlignment.Left);
            lstTrainCodeInfo.Columns.Add("城市", 80, HorizontalAlignment.Left);
            lstTrainCodeInfo.Columns.Add("到达时间", 120, HorizontalAlignment.Left);
            lstTrainCodeInfo.Columns.Add("离开时间", 120, HorizontalAlignment.Left);
            lstTrainCodeInfo.Columns.Add("站", 40, HorizontalAlignment.Left);
            lstTrainCodeInfo.Columns.Add("里程(KM)", 70, HorizontalAlignment.Left);
            lstTrainCodeInfo.Columns.Add("票价", 70, HorizontalAlignment.Left);
            lstTrainCodeInfo.Columns.Add("天数", 60, HorizontalAlignment.Left);
            lstTrainCodeInfo.View = View.Details;
            
            
            
        }

        private void lstTrainInfo_DoubleClick(object sender, EventArgs e)
        {
            DataSet ds=new DataSet ();
            string TrainCode =lstTrainInfo.SelectedItems[0].SubItems[0].Text;
            ds=tbusiness.selectTrainInfo(TrainCode);
            
            
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                ListViewItem Item = lstTrainCodeInfo.Items.Add(dr[1].ToString());
                Item.SubItems.Add(dr[2].ToString());
                Item.SubItems.Add(dr[3].ToString().Remove(0, 10));
                Item.SubItems.Add(dr[4].ToString().Remove(0, 10));
                Item.SubItems.Add(dr[5].ToString());               
                Item.SubItems.Add(dr[6].ToString());
                //计算票价
                
                KmEnd = int.Parse(dr[6].ToString());
                float EndPrice = TicketEnd();
                if (KmEnd == 0)
                    EndPrice = 0;
                Item.SubItems.Add(EndPrice.ToString() + "元");
                Item.SubItems.Add(dr[7].ToString());
            }
        
           
            //显示列车信息选项卡
            tbpOptionCard.SelectedIndex = 2;
            //显示打印按钮
            btnPrintCode.Visible = true;
        }

        private void btnNumberSearch_Click(object sender, EventArgs e)
        {
            if (txtTrainCodeSearch.Text == "")
            {
                MessageBox.Show("请输入有效信息!");
                return;
            }
            ds=tbusiness.selectTrainCode(txtTrainCodeSearch.Text);

            if (ds.Tables[0].Rows.Count == 0)
            {
                MessageBox.Show("没有找相关列车信息,请重新输入!");
                //清空列车编号
                txtTrainCodeSearch.Text = "";
            }
            else
            {
                //清空列车信息
                lstTrainInfo.Items.Clear();
                //清空列车编号
                txtTrainCodeSearch.Text = "";
                //遍例一行所有数
                foreach (DataRow dr in ds.Tables[0].Rows)
                {

                    ListViewItem item = this.lstTrainInfo.Items.Add(dr[0].ToString());
                    item.SubItems.Add(dr[5].ToString());
                    item.SubItems.Add(dr[6].ToString());
                    item.SubItems.Add(dr[1].ToString());
                    item.SubItems.Add(dr[2].ToString());
                    item.SubItems.Add(dr[8].ToString());
                    item.SubItems.Add(dr[7].ToString());
                    //计算票价
                    sort = dr[5].ToString();
                    speed = dr[6].ToString();
                    Km = int.Parse(dr[7].ToString());
                    float Price = Ticket();
                    item.SubItems.Add(Price.ToString());

                }
                //显示列车信息选项卡
                tbpOptionCard.SelectedIndex = 1;
            }
        }

        //计算全程票价
        private float Ticket()
        {
            float fareBase = 1;
            float trainBase = 1;
            if (sort.Equals("空调"))
            {
                fareBase *= 2;
            }
            if (speed.Equals("快速"))
            {
                trainBase *= 1.2f;
            }
            else if (speed.Equals("特快"))
            {
                trainBase *= 2;
            }
            //计算票价
            
            return (Km / 100 + 1) * 10 * trainBase;
        }
        //计算终点票价
        private float TicketEnd() 
        {
            float fareBase = 1;
            float trainBase = 1;
            if (sort.Equals("空调"))
            {
                fareBase *= 2;
            }
            if (speed.Equals("快速"))
            {
                trainBase *= 1.2f;
            }
            else if (speed.Equals("特快"))
            {
                trainBase *= 2;
            }
            //计算票价

            return (KmEnd / 100 + 1) * 10 * trainBase;
        }

        private void btnPrintCode_Click(object sender, EventArgs e)
        {
            pd.Print();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            lblDataTime.Text = DateTime.Now.ToString();
        }

        //判断选项卡是否改变,去决定打印按钮是否显示
        private void tbpOptionCard_SelectedIndexChanged(object sender, EventArgs e)
        {

            if (tbpOptionCard.SelectedIndex == 0 || tbpOptionCard.SelectedIndex == 1)
            {
                btnPrintCode.Visible = false;
            }
            else
            {
                btnPrintCode.Visible = true;
            }
             //当单击地图,清空所有文本框、列表
            if (tbpOptionCard.SelectedIndex == 0)
            {
                lstTrainInfo.Items.Clear();
                lstTrainCodeInfo.Items.Clear();
                cboChangeTrains.Text = "";
                txtTrainCodeSearch.Text = "";
                txtStartStation.Text = "";
                txtEndStation.Text = "";
                txtStartStation.Focus();
            }
        }

        private void btnHelp_Click(object sender, EventArgs e)
        {
            Help.ShowHelp(this, @"Help.chm");
            
        }

        private void txtTrainCodeSearch_MouseDown(object sender, MouseEventArgs e)
        {
            FrmNumber frmnumber = new FrmNumber(this);
            frmnumber.ShowDialog();
        }

        

       
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?