⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trainuil.cs

📁 用C#编写的实现火车查询功能的程序功能比较完整
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using TrainSystem.Business;
using System.Drawing.Printing;
using System.IO;


namespace TrainSystem.UIL
{
    public partial class TrainUIL : Form
    {
        TrainBusiness tbusiness = new TrainBusiness();
        DataSet ds = new DataSet();
        DataSet ds1 = new DataSet();
        private string sort;// 种类
        private string speed;//速度
        private int  Km;//列表车次公里
        private int KmEnd;//详细列表车次公里
        PrintDocument pd;
     
            

        public TrainUIL()
        {
            InitializeComponent();
            pd = new PrintDocument();
            pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
            pd.DefaultPageSettings.Landscape = true;
          
        }

        void pd_PrintPage(object sender, PrintPageEventArgs e)
        {
            Font f = new Font("tahoma", 14,FontStyle.Regular);
            Brush objBrush=Brushes.Black;
            Pen objpen = new Pen(objBrush);
            objpen.Width = 2;
            int h = (int)f.GetHeight(e.Graphics);

            //向打印预览窗口添加内容

            int nTop = e.MarginBounds.Top;
            int nWidth = e.MarginBounds.Width;
            int nHeight = e.MarginBounds.Height;
            int nleft = e.MarginBounds.Left;
            //画出页面有效区域
            
            
            e.Graphics.DrawLine(objpen, nleft, nTop, nleft + nWidth, nTop);
            e.Graphics.DrawLine(objpen, nleft, nTop + nHeight, nleft + nWidth, nTop + nHeight);
            e.Graphics.DrawLine(objpen, nleft, nTop, nleft, nleft + nHeight);
            e.Graphics.DrawLine(objpen, nleft + nWidth, nTop, nleft + nWidth, nTop + nHeight);
            //打印出表头

            e.Graphics.DrawString("列车详细信息", new Font("Garamond", 25, FontStyle.Bold), Brushes.Blue, nleft + 370, nTop + 10);
            e.Graphics.DrawString("车次", f, objBrush, nleft + 50, nTop + 110);
            e.Graphics.DrawString("城市", f, objBrush, nleft + 150, nTop + 110);
            e.Graphics.DrawString("到达时间", f, objBrush, nleft + 280, nTop + 110);
            e.Graphics.DrawString("离开时间", f, objBrush, nleft + 400, nTop + 110);
            e.Graphics.DrawString("途经站序号", f, objBrush, nleft + 530, nTop + 110);
            e.Graphics.DrawString("里程", f, objBrush, nleft + 680, nTop + 110);
            e.Graphics.DrawString("票价", f, objBrush, nleft + 760, nTop + 110);
            e.Graphics.DrawString("行程时间", f, objBrush, nleft + 840, nTop + 110);
            
            //打印具体数据
            
            for (int i = 0; i < lstTrainCodeInfo.Items.Count-1; i++)
            {
                e.Graphics.DrawString(lstTrainCodeInfo.Items[i].SubItems[0].Text, f, objBrush, nleft + 50, nTop + 150+h * i);
                e.Graphics.DrawString(lstTrainCodeInfo.Items[i].SubItems[1].Text, f, objBrush, nleft + 150, nTop + 150 + h * i);
                e.Graphics.DrawString(lstTrainCodeInfo.Items[i].SubItems[2].Text, f, objBrush, nleft + 280, nTop + 150 + h * i);
                e.Graphics.DrawString(lstTrainCodeInfo.Items[i].SubItems[3].Text, f, objBrush, nleft + 400, nTop + 150 + h * i);
                e.Graphics.DrawString(lstTrainCodeInfo.Items[i].SubItems[4].Text, f, objBrush, nleft + 530, nTop + 150 + h * i);
                e.Graphics.DrawString(lstTrainCodeInfo.Items[i].SubItems[5].Text, f, objBrush, nleft + 680, nTop + 150 + h * i);
                e.Graphics.DrawString(lstTrainCodeInfo.Items[i].SubItems[6].Text, f, objBrush, nleft + 760, nTop + 150 + h * i);
                e.Graphics.DrawString(lstTrainCodeInfo.Items[i].SubItems[7].Text, f, objBrush, nleft + 840, nTop + 150 + h * i);
            }
            e.Graphics.DrawString(lblDataTime.Text, f, objBrush, nleft + 700, nTop + 450);
        }

        private void lblWuLuMuQi_Click(object sender, EventArgs e)
        {
            if (ActiveControl != txtStartStation && ActiveControl != txtEndStation)
            { return; }
            this.ActiveControl.Text = ((Label)sender).Text;
            foreach (Label l in tbpPhoto.Controls)
            {
                l.ForeColor = Color.Black;
            }
            ((Label)sender).ForeColor = Color.Blue;

            if (txtStartStation.Focused)
            {
                txtEndStation.Focus();
            }
            else
            {
                txtStartStation.Focus();
            }
        }

        private void btnInfoSearch_Click(object sender, EventArgs e)
        {
            //判断文本是否为空
            if (txtStartStation.Text == "" || txtEndStation.Text == "")
            {
                MessageBox.Show("请输入有效信息!");
                return;
            }
            
            if (cboChangeTrains.Text == "")
            {
                lstTrainInfo.Items.Clear();
                ds = tbusiness.SelectNonstop(txtStartStation.Text, txtEndStation.Text);

                //判断是否有直达车
                if (ds.Tables[0].Rows.Count == 0)
                {
                    ds = tbusiness.SelectChangeTrains(txtStartStation.Text, txtEndStation.Text);

                    int k = ds.Tables[0].Rows.Count;
                    if (k ==0)
                    {
                        MessageBox.Show("没有可达列车,请选取择其它路线!");
                        return;
                    }
                        MessageBox.Show("没有找到直达车,请选择中转站!");
                    cboChangeTrains.DataSource = ds.Tables[0].DefaultView;
                    cboChangeTrains.DisplayMember = "cityname";
                    //cboChangeTrains.DroppedDown = true;
                    
                }
                else
                {

                    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;
                    
                }
                
                
            }
            else if(cboChangeTrains.Text != "")
            {
               
                ds = tbusiness.SelectNonstop(txtStartStation.Text, cboChangeTrains.Text);
                ds1 = tbusiness.SelectNonstop(cboChangeTrains.Text, txtEndStation.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());
                }
                foreach (DataRow dr in ds1.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;

⌨️ 快捷键说明

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