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

📄 frmmain.cs

📁 小型搜索软件的源代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
			this.statusBar.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {
																						 this.statusPanelTotal,
																						 this.statusPanelTime,
																						 this.statusPanelIndex});
			this.statusBar.ShowPanels = true;
			this.statusBar.Size = new System.Drawing.Size(576, 24);
			this.statusBar.TabIndex = 11;
			// 
			// statusPanelTotal
			// 
			this.statusPanelTotal.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Contents;
			this.statusPanelTotal.Width = 10;
			// 
			// statusPanelTime
			// 
			this.statusPanelTime.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Contents;
			this.statusPanelTime.Width = 10;
			// 
			// statusPanelIndex
			// 
			this.statusPanelIndex.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Contents;
			this.statusPanelIndex.Width = 10;
			// 
			// frmMain
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
			this.ClientSize = new System.Drawing.Size(576, 445);
			this.Controls.Add(this.statusBar);
			this.Controls.Add(this.label1);
			this.Controls.Add(this.linkLabel3);
			this.Controls.Add(this.linkLabel2);
			this.Controls.Add(this.linkLabel1);
			this.Controls.Add(this.button_Options);
			this.Controls.Add(this.groupBox1);
			this.Controls.Add(this.button4);
			this.Controls.Add(this.btnStart);
			this.Controls.Add(this.button_JobList);
			this.Name = "frmMain";
			this.Text = "Shoot Search Ver 0.1";
			this.Load += new System.EventHandler(this.frmMain_Load);
			this.Closed += new System.EventHandler(this.frmMain_Closed);
			this.groupBox1.ResumeLayout(false);
			((System.ComponentModel.ISupportInitialize)(this.statusPanelTotal)).EndInit();
			((System.ComponentModel.ISupportInitialize)(this.statusPanelTime)).EndInit();
			((System.ComponentModel.ISupportInitialize)(this.statusPanelIndex)).EndInit();
			this.ResumeLayout(false);

		}
		#endregion

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

		private void btnStart_Click(object sender, System.EventArgs e)
		{
			//加载配置
			Config.Load_Config();
			//出世化Log
			Logging.Log.Init(this);
			//初始化蜘蛛线程
			ThreadStart starter = new ThreadStart(this.SpiderThread);
			Thread spider = new Thread(starter);
			spider.Start();
			spider.Name = "ShootSpiderMan";
			this.richTextBox_Console.Clear();

		}

		public void SpiderThread()
		{
			if ( btnStart.Text == "Cancel")
			{
				
				m_spider.StopWork();
				btnStart.Enabled = false ;
				Log.m_Console.WriteLine("请等待索引线程...");
				IndexReptile.StopIndex();
				if(!IndexReptile.IsRunning)
					IndexReptile.optimizeIndex();
			}
			else
			{
				btnStart.Text = "Cancel" ;
				button_JobList.Enabled = false ;
				button_Options.Enabled = false ;



				m_spider = new Spider();
				
				int threads = Config.ThreadCount ;
				if(threads<1)
					threads = 1;

				IndexReptile.Init(0);
				SpiderControl.Init();
				try
				{
					for(int JobID = 0 ; JobID < Config.JobList.Count ; JobID ++ )
					{
						m_spider.AcceptJob(Config.JobList[JobID].ToString(),threads);
						SpiderControl.SpiderList.Add(m_spider);
					
					}
				}
				catch( UriFormatException ex)
				{
					System.Windows.Forms.MessageBox.Show( ex.Message );
					return;
				}
				finally
				{
					//IndexReptile.StopIndex();
				}
				//if(this.m_spider.IsStoped())
				//{
				//btnStart.Text = "开始制作索引";
				//btnStart.Enabled = true;
				//Thread.CurrentThread.Abort();
				//m_spider.StopWork();
				//this.ConsoleOut();
				//}
				//搜索任务已经分配
				//索引线程只管等待索引队列为空即可完成索引制作
				IndexReptile.WaitToFinish =true ;

				 

			}
		}


		public void FinishIndex()
		{
			btnStart.Enabled = true; 
			button_JobList.Enabled = true ;
			button_Options.Enabled = true ;
			btnStart.Text = "开始制作索引";
			Log.m_Console.WriteLine("索引完成!");
		}

		#region  输出相关信息
		/// <summary>
		/// 控制台输出处理的URL
		/// </summary>
		/// <param name="str"></param>
		public void WriteLine(string p_msg)
		{
			try
			{
				richTextBox_Console.AppendText(p_msg + "\r\n");
			}
			catch{}
		}

		/// <summary>
		/// 输出时间
		/// </summary>
		/// <param name="str"></param>
		public void SetElapsedTime(string str)
		{
			try
			{
				statusBar.Panels[1].Text = "已用时:" + str ;
			}
			catch{}
			//this.txtConsole.AppendText("已用时:" + str + "\r\n");
			
		}

		/// <summary>
		/// 输出处理URL个数
		/// </summary>
		/// <param name="str"></param>
		public void SetProcessedCount(string str)
		{
			try
			{
				statusBar.Panels[0].Text ="总数:" + str ;
			}
			catch{}
			//this.txtConsole.AppendText("总数:" + str + "\r\n");
		}

		/// <summary>
		/// 输出索引进程
		/// </summary>
		/// <param name="str"></param>
		public void SetURLCount(int p_Remain)
		{
			try
			{
				statusBar.Panels[2].Text = "还有:"  + p_Remain + "个文件信息未加入索引"  ;
			}
			catch{}
			//this.txtConsole.AppendText("总数:" + str + "\r\n");
		}

		#endregion


		public void SetConsoleClear()
		{
			this.richTextBox_Console.Clear();
		}


		private void frmMain_Load(object sender, System.EventArgs e)
		{
		}

		private void button_Options_Click(object sender, System.EventArgs e)
		{
			frmOption newFormOption = new frmOption();
			newFormOption.Load_Config_For_Interface(this);
		}

		private void button_JobList_Click(object sender, System.EventArgs e)
		{
			frmAddRange newFormAddRange = new frmAddRange();
			newFormAddRange.Load_JobList(this);
		}

		private void button_ConsoleClear_Click(object sender, System.EventArgs e)
		{
			this.SetConsoleClear();
		}

		private void frmMain_Closed(object sender, System.EventArgs e)
		{
			try
			{
				while(Thread.CurrentThread.IsAlive)
				{
					//Console.WriteLine(Thread.CurrentThread.Name + "aa");
					if(Thread.CurrentThread.Name.IndexOf("Shoot")>=0)
						Thread.CurrentThread.Abort();
				}
					
			}
			catch{}

			Application.Exit();
		}

	}
}

⌨️ 快捷键说明

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