📄 frmmain.cs
字号:
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 + -