private void frmMain_Load(object sender, EventArgs e)
        {
            PluginHandler.LoadPlugins();

            ToolHandler.LoadTools();

            //put this after loadplugins to avoid "where's reflector" dialog
            HostHandler.SetupAssemblyResolver();

            #region About & Update
            try
            {
                ShowAbout(false);
                CheckUpdate();
            }
            catch (Exception ex)
            {
                SimpleMessage.ShowException(ex);
            }
            #endregion About & Update
        }
        void HandleFileChange(FileSystemEventArgs e)
        {
            string key = e.Name.ToLower();

            if (lastWrites.ContainsKey(key))
            {
                if ((DateTime.Now - lastWrites[key]).TotalSeconds < 1.0)
                {
                    //#if DEBUG
                    //                  SimpleMessage.ShowInfo("Ignored file change event: " + e.Name);
                    //#endif
                    lastWrites[key] = DateTime.Now;
                    return;
                }
                else
                {
                    lastWrites[key] = DateTime.Now;
                }
            }
            else
            {
                lastWrites.Add(key, DateTime.Now);
            }

            if (e.Name.Equals(ToolFile.Default.FileName, StringComparison.OrdinalIgnoreCase))
            {
                ToolFile.Default.Clear();
                ToolHandler.LoadTools();
            }
            else if (e.Name.Equals(PatternFile.Default.FileName, StringComparison.OrdinalIgnoreCase))
            {
                PatternFile.Default.Clear();
            }
            else if (e.Name.Equals(RegexFile.Default.FileName, StringComparison.OrdinalIgnoreCase))
            {
                RegexFile.Default.Clear();
            }
            else if (e.Name.Equals(ExceptionHandlerFile.Default.FileName, StringComparison.OrdinalIgnoreCase))
            {
                ExceptionHandlerFile.Default.Clear();
            }
            else if (e.Name.Equals(KeywordFile.Default.FileName, StringComparison.OrdinalIgnoreCase))
            {
                KeywordFile.Default.Clear();
            }
            else if (e.Name.Equals(IgnoredMethodFile.Default.FileName, StringComparison.OrdinalIgnoreCase))
            {
                IgnoredMethodFile.Default.Clear();
            }
            else if (e.Name.Equals(IgnoredTypeFile.Default.FileName, StringComparison.OrdinalIgnoreCase))
            {
                IgnoredTypeFile.Default.Clear();
            }
            else if (e.Name.Equals(AttributeFile.Default.FileName, StringComparison.OrdinalIgnoreCase))
            {
                AttributeFile.Default.Clear();
            }
            else if (e.Name.Equals(ProfileFile.Default.FileName, StringComparison.OrdinalIgnoreCase))
            {
                ProfileFile.Default.Clear();
            }
            else if (e.Name.Equals(RandomFile.Default.FileName, StringComparison.OrdinalIgnoreCase))
            {
                RandomFile.Default.Clear();
            }

            if (TextFileChanged != null)
            {
                TextFileChanged(this, e);
            }
        }