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

📄 frmmain.cs

📁 网通网关Cngp
💻 CS
📖 第 1 页 / 共 2 页
字号:
			this.Noti.Click += new System.EventHandler(this.Noti_Click);
			// 
			// lbmo
			// 
			this.lbmo.Location = new System.Drawing.Point(264, 136);
			this.lbmo.Name = "lbmo";
			this.lbmo.Size = new System.Drawing.Size(56, 23);
			this.lbmo.TabIndex = 5;
			this.lbmo.Text = "0";
			// 
			// frmMain
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
			this.ClientSize = new System.Drawing.Size(384, 185);
			this.Controls.Add(this.l6);
			this.Controls.Add(this.lblSocketStatus);
			this.Controls.Add(this.label5);
			this.Controls.Add(this.label4);
			this.Controls.Add(this.lblSocket);
			this.Controls.Add(this.label3);
			this.Controls.Add(this.lblReadySend);
			this.Controls.Add(this.label2);
			this.Controls.Add(this.lblCount);
			this.Controls.Add(this.label1);
			this.Controls.Add(this.statusBar);
			this.Controls.Add(this.lblMo);
			this.Controls.Add(this.lbCount);
			this.Controls.Add(this.lbmo);
			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
			this.MaximizeBox = false;
			this.Menu = this.mainMenu;
			this.Name = "frmMain";
			this.ShowInTaskbar = false;
			this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
			this.Text = "Cngp2.0";
			this.Closing += new System.ComponentModel.CancelEventHandler(this.frmMain_Closing);
			this.Load += new System.EventHandler(this.frmMain_Load);
			this.ResumeLayout(false);

		}
		#endregion

		/// <summary>
		/// 应用程序的主入口点。
		/// </summary>
		[STAThread]
		static void Main() 
		{
			Application.Run(new frmMain());
		}
	

		/// <summary>
		/// 程序启动,建立网关连接
		/// 实例化获取栏目信息类,调用存储过程类
		/// 获取栏目发送名称和时间
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		[LastModified("2005-12-19","检查读取参数,连接网关")]
		[LastModified("2006-03-14","增加Mt,Mo累加的事件处理")]
		private void frmMain_Load(object sender, System.EventArgs e)
		{
			try
			{
				//
				//是否只能有一个实例,如果不是,那么关闭程序
				//
				if(ConfigInformation.MultiApp!="TRUE")
				{
					if(Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName).Length>1)
					{
						this.Dispose();
						Application.Exit();
					}
				}
				
				

				//
				//开始启动程序
				//
				represent.StartProgram();
				//
				//注册Mt,Mo变化导致的事件
				//
				CngpProtocol.MtOnChange+=new Cngp.CngpProtocol.MtChangeHandler(CngpProtocol_MtOnChange);
				CngpProtocol.MoOnChange+=new Cngp.CngpProtocol.MtChangeHandler(CngpProtocol_MoOnChange);
				//
				//设置版本信息
				//2006-06-21
				//
				statusBar.Text="最后更新日期2007-04-03";
			}
			catch(Exception ex)
			{
				MessageBox.Show(ex.Message.ToString()+"\r\n"+
					ex.StackTrace.ToString(),"LoadError");
				EndForm();
			}
		
		}
		/// <summary>
		/// Mt变化导致的事件
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		[LastModified("2006-03-14","显示Mt累加")]
		private void CngpProtocol_MtOnChange(object sender,MtchangeEventArgs e)
		{
			this.lbCount.Text=e.Mtcount.ToString();
		}

		/// <summary>
		/// MO 变化导致的事件
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		[LastModified("2006-03-14","显示Mo累加")]
		private void CngpProtocol_MoOnChange(object sender,MtchangeEventArgs e)
		{
			this.lbmo.Text=e.Mtcount.ToString();
		}
		/// <summary>
		/// 显示程序的发送,接收等参数
		/// </summary>
		private void ShowSequence()
		{			

			
			lblCount.Text=CngpProtocol.submitArray.Count.ToString();		//提交后没有回复的
			lblSocketStatus.Text=Represent.ArrayTaskTime.Count.ToString();			//调度栏目数
		
			//显示准备发送信息的数量
			lblReadySend.Text=CngpProtocol.readytoSendArray.Count.ToString();
			//显示连接数
			lblSocket.Text=Represent.ProtocolArray.Count.ToString();
			l6.Text=Represent.threadCheckSubmitArray.ThreadState.ToString();

			
		}
		
	
	

		/// <summary>
		/// 窗体关闭时,提示用户是否确实要退出程序
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void frmMain_Closing(object sender, System.ComponentModel.CancelEventArgs e)
		{
			DialogResult result=MessageBox.Show("确定要退出?","Are You Sure?",
				MessageBoxButtons.YesNo,MessageBoxIcon.Question);
			if(result==DialogResult.Yes)
			{
				EndForm();
			}
			else
			{
				e.Cancel=true;
			}

			
		}
	
		/// <summary>
		/// 关闭程序,清理资源
		/// </summary>
		[LastModified("2005-11-12","关闭程序,清理资源")]		
		private void EndForm()
		{
			//
			//终止Represent Class 实例
			//
			represent.EndRepresent();		
			//
			//退出程序
			//
			Application.Exit();
			
		}
	
		/// <summary>
		/// 菜单按钮SendFee事件
		/// 启动threadFee进程
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void menuItemSendFee_Click(object sender, System.EventArgs e)
		{
			//发送计费信息线程
			threadFee=new Thread(new ThreadStart(SendFee));
			threadFee.Priority=ThreadPriority.Normal;
		
			threadFee.Start();
			Logs.writeLog("Fee Thread Start");
		}
		/// <summary>
		/// 发送计费信息线程调用的方法
		/// </summary>
		[LastModified("2005-12-20","计费线程调用的方法")]
		private void SendFee()
		{
			timerFee.Interval=Convert.ToInt32(ConfigInformation.Sendspeed);
			timerFee.Elapsed+=new ElapsedEventHandler(timerFee_Elapsed);
			timerFee.Start();
		}
		/// <summary>
		/// 发送计费信息
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		[LastModified("2005-12-20","不再检测网关返回的状态值,避免网通数据库中没有信息"
			 +"的用户发送计费时,返回错误,从而导致不能继续发送计费信息")]
		private void timerFee_Elapsed(object sender,ElapsedEventArgs e)
		{
			try
			{
				//删除一下条件,不在检测网关返回的状态值,直接发送
				//&& CngpProtocol.FeebackOk==true
				if(CngpSendMessage.ArrayMessage.Count<10 )
				{
				
			
					if(cngpsendmessage.IfFeeData()==false)
					{
						//结构
						SendInfo Sendinfo=new SendInfo();
						cngpsendmessage.GetFee(
							ref Sendinfo.Mobileid,
							ref Sendinfo.Content,
							ref Sendinfo.FeeType,
							ref Sendinfo.FeeCode,
							ref Sendinfo.ServiceId,
							ref Sendinfo.SourceId						
							);
				
						//
						uint Sequence=0;
						//send
						byte[] byteContent=Encoding.GetEncoding("GB2312").GetBytes(Sendinfo.Content.Replace("\0",""));
						byte Length=(byte)byteContent.Length;
						CngpProtocol cngpProtocol=(CngpProtocol)Represent.ProtocolArray[0];
						cngpProtocol.Cngp_Submit(
							ConfigInformation.CorpId,								   //spId
							(byte)CngpProtocol.SubType.MTDeliver,  //subtype
							(byte)CngpProtocol.NeedReport.Need, //needReport
							(byte)CngpProtocol.Priority.High,		//priority
							Sendinfo.ServiceId,						//serviceid		
							Sendinfo.FeeType,					    //feetype
							(byte)(CngpProtocol.FeeUserType.Dest),  //feeUsertype
							Sendinfo.FeeCode,						//feecode
							((byte)CngpMessage.Character.GB),		//msgFormat
							"0",									//validtime
							"0",									//attime
							Sendinfo.SourceId.Trim(),
							Sendinfo.Mobileid.Trim(),
							1,
							Sendinfo.Mobileid.Trim(),
							Length,
							Sendinfo.Content.Trim(),
							ref Sequence
							);
					
						Sendinfo.Sequence=Sequence;
						//加入array
						lock(CngpProtocol.submitArray)
						{
							CngpProtocol.submitArray.Add(Sendinfo);
						}
				
					}
					else if(cngpsendmessage.IfFeeData()==true)
					{
						Logs.writeLog("Fee Thread Terminated");
						timerFee.Close();
						Thread.CurrentThread.Abort();
						Thread.CurrentThread.Join(1000);
					}
				
				}
			}
			catch(Exception ex)
			{
				Logs.writeLog(string.Concat(
					ex.Message,
					"\r\n",
					ex.StackTrace.ToString(),
					"\r\n",
					ex.TargetSite.ToString()
					),false);
			}
		}

		
		

	

		/// <summary>
		/// 显示参数信息
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		[LastModified("2005-12-19","显示参数信息")]
		private void timerCheckConnection_Tick(object sender, System.EventArgs e)
		{
			try
			{
				
				//显示Sequence
				ShowSequence();		
			
			}
			catch(Exception ex)
			{
				Logs.writeLog(ex.Message.ToString(),false);
				Logs.writeLog(ex.StackTrace.ToString(),false);
				Logs.writeLog(ex.TargetSite.ToString(),false);
				Logs.writeLog(ex.Source.ToString(),false);
			}

		}

		/// <summary>
		/// 菜单恢复选项
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void menuRestore_Click(object sender, System.EventArgs e)
		{
			this.Activate();
			this.WindowState=FormWindowState.Normal;
		}

		/// <summary>
		/// 菜单结束选项
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void menuExit_Click(object sender, System.EventArgs e)
		{
			EndForm();
		}

		
		/// <summary>
		/// 用户单击托盘图标,如果最小化,那么恢复,如过正常,那么最小化
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void Noti_Click(object sender, System.EventArgs e)
		{
			if(this.WindowState==FormWindowState.Normal)
			{
				
				this.WindowState=FormWindowState.Minimized;
			}
			else
			{
				this.Activate();
				this.WindowState=FormWindowState.Normal;
			}
		}

		

		
	}
}

⌨️ 快捷键说明

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