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

📄 frmmain.cs

📁 航班查询系统,可以连接实现443与350端口的应用,是不可多得的范例
💻 CS
📖 第 1 页 / 共 2 页
字号:

            if (CurrentUser.type.Contains("eTerm"))
            {
                ec.eTerminalType = EtermConnection.TerminalType.eTerm;
            }
            else if (CurrentUser.type.Contains("iTerm"))
            {
                ec.eTerminalType = EtermConnection.TerminalType.iTerm;
            }

            //ec.SIText = "SI 8888 8888f 9";
            ec.Open(CurrentUser.server, CurrentUser.port, CurrentUser.ssl, CurrentUser.user, CurrentUser.pass);
        }

        private void CmdCB(object sender, CmdResult result)
        {
            if (InvokeRequired)
            {
                Invoke(new EtermConnection.CmdResultCB(CmdCB), sender, result);
                return;
            }

            richTextBox1.SelectionColor = Color.LimeGreen;
            richTextBox1.SelectionFont = new Font("宋体", 9);
            richTextBox1.AppendText("\r\n" + result.Data);
            this.richTextBox1.Select(this.richTextBox1.TextLength, 0);
            this.richTextBox1.ScrollToCaret();
            richTextBox1.AppendText("\r\n" + (char)9632);


            if (remotableObject != null)
            {
                remotableObject.ResultString = result.Data;
                remotableObject.Set();
            }

        }


        #region EtermConnection事件处理函数



        private void ec_OnLogin(object sender)
        {
            LogManager.Instance.Log.Info("登录航信服务器成功!");
        }

        private void ec_OnUnLogin(object sender)
        {
            LogManager.Instance.Log.Info("航信服务器连接断开!");
        }

        private void ec_OnReadPacket(object sender, CmdResult result)
        {
            //LogManager.Instance.Log.Info("接收数据: "+result.Data);
            //MessageBox.Show(result.Data);
        }

        private void ec_OnSendPacket(object sender, Packet cmdpacket)
        {
            //LogManager.Instance.Log.Info("发送数据: " + cmdpacket.CmdString);
        }


        private void ec_OnGetChkCode(object sender, Image i)
        {
            if (InvokeRequired)
            {
                Invoke(new EtermConnection.ChkCodeHandler(ec_OnGetChkCode), sender, i);
                return;
            }
            frmRegistor frmregisto = new frmRegistor(ec, i);
            frmregisto.StartPosition = FormStartPosition.CenterScreen;
            frmregisto.ShowDialog();
            frmregisto.Dispose();

        }



        private void ec_OnError(object sender, Exception ex)
        {
            if (InvokeRequired)
            {
                Invoke(new Leey.Net.eTerm.Net.ErrorHandler(ec_OnError), sender, ex);
                return;
            }
            EndProgressBar();
            //MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            toolStripLogin.Enabled = true;
            toolStripLogout.Enabled = false;
            toolStripStatusLabel1.Text = "已断开:" + ex.Message;
            ec.Close();

            LogManager.Instance.Log.Error("错误: "+ ex.Message);

        }




        private void ec_OnEtermConnectionStateChanged(object sender, StateClass.ConnectionState state)
        {

            if (InvokeRequired)
            {
                Invoke(new EtermConnection.EtermConnectionStateHandler(ec_OnEtermConnectionStateChanged), sender, state);
                return;
            }

            switch (state)
            {
                case StateClass.ConnectionState.Connecting:
                    toolStripLogin.Enabled = false;
                    toolStripLogout.Enabled = true;
                    toolStripStatusLabel1.Text = "正在连接";
                    StartProgressBar();
                    break;
                case StateClass.ConnectionState.Connected:
                    break;
                case StateClass.ConnectionState.Logining:
                    break;
                case StateClass.ConnectionState.Logined:
                    toolStripStatusLabel1.Text = "已连接";
                    EndProgressBar();
                    break;
                case StateClass.ConnectionState.DisConnected:
                    toolStripLogin.Enabled =true;
                    toolStripLogout.Enabled = false;
                    toolStripStatusLabel1.Text = "已断开";
                    EndProgressBar();
                    break;

            }

        }

        #endregion

        #region Form中事件处理函数

        private void Form1_Load(object sender, EventArgs e)
        {

            Application.AddMessageFilter(this);
           
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (e.CloseReason == CloseReason.WindowsShutDown)
            {
                LogManager.Instance.Log.Info("操作系统正在关闭应用程序以准备关机");
            }
            else if (e.CloseReason == CloseReason.UserClosing)
            { 
                LogManager.Instance.Log.Info("用户关闭应用程序");            
            }
            else if (e.CloseReason == CloseReason.TaskManagerClosing)
            {
                LogManager.Instance.Log.Info("任务管理器关闭应用程序");
            }
            else
            {
                LogManager.Instance.Log.Info("其他未知原因关闭应用程序");
            }
           
        }
       

        private void toolStripLogin_Click(object sender, EventArgs e)
        {
            frmLogin frmlogin = new frmLogin();
            frmlogin.StartPosition = FormStartPosition.CenterParent;

            if (frmlogin.ShowDialog() == DialogResult.OK)
            {
                ThreadPool.QueueUserWorkItem(new WaitCallback(Open));
            }
        }


        private void toolStripLogout_Click(object sender, EventArgs e)
        {
            ec.CloseAll();
        }


        #endregion

        #region LoginProgressBar

        private void StartProgressBar()
        {
            toolStripProgressBar1.Visible = true;
            timer1.Start();
        }

        private void EndProgressBar()
        {
            timer1.Stop();
            toolStripProgressBar1.Visible = false;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (toolStripProgressBar1.Value >= 100)
            {
                toolStripProgressBar1.Value = 0;
            }
            toolStripProgressBar1.Value += 10;
        }

        #endregion

        #region EtermCommandLine
        private string GetCommandLine()
        { 
        
            String  st= richTextBox1.Text.Substring(0, richTextBox1.SelectionStart).ToUpper();
            if (st.LastIndexOf("■") >= 0 )
            {
                st = st.Substring(st.LastIndexOf("■"), st.Length - st.LastIndexOf("■")).Trim();
            }
            else
            {
                return "";
            }


            if (st.Length <= 1 )
            {
                return "";
            }


            String command = st.Remove(0, 1).Replace("\n", "\r").Trim();


            if (command == null)
            {
                return "";
            }
            else
            {
                return command;
            }

        }
        #endregion

        private void toolStripSet_Click(object sender, EventArgs e)
        {

        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            //此函数能够取得所有航班信息,提供网页查询接口需要的当日所有航班
            //GetFlights(GetCommandLine().Trim());
            //string path = Directory.GetCurrentDirectory();

            string filename = Path.Combine(Directory.GetCurrentDirectory(), "log4net.config");

            /*
            XmlTextReader tr = new XmlTextReader(filename);
            //Read in a node at a time 
            while (tr.Read())
            {
                if (tr.NodeType == XmlNodeType.Element && tr.Name == "file")
                    richTextBox1.AppendText(tr.GetAttribute("value") + "\r\n");
            }*/

            XmlDocument mydoc = new XmlDocument();
            mydoc.Load(filename);

            /*
            XmlNode node = mydoc.DocumentElement;//移到config节点 
            node = node.FirstChild;//移到database子节点 
            node = node.FirstChild;//移到server子节点 
            node = node.NextSibling;//移到sa子节点 

            node = node.NextSibling;//移到passowrd子节点 
            node.InnerText = "asdf";//修改内容 

             */

            //XmlNode node = mydoc.SelectSingleNode("/configuration/log4net/appender/file[@value]");

            //node.Attributes["value"].Value = "log/log2.txt";

            //MemoryStream ms = new MemoryStream();
            //tw.BaseStream

            //mydoc.Save(ms);//保存

            //MessageBox.Show(System.Text.Encoding.Default.GetString(ms.ToArray()));




        }
    }



    public class CurrentUser
    {
        public static string user;
        public static string pass;
        public static string server;
        public static int    port;
        public static bool   ssl;
        public static string type;
    }



}

⌨️ 快捷键说明

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