示例#1
0
        private void OnFindComplete(object sender, EventArgs e)
        {
            _searchOver = false;
            SetProgressBar(0);
            ChangeFileNowName(string.Empty);
            SearchMenuVisible(false);
            TimerPaint.Stop();
            SetTimerLabel("00:00:00");
            SetFileNowLabel("Расположение файла");

            SetTextStartBtn("Поиск");
            if (_search.Files.Where(f => f.IsMatch).Count() == 0)
            {
                MessageBox.Show("В файлах совпадений не найдено", "Поиск закончен", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show($"Найдено совпадений в файлах: {_search.Files.Where(f => f.IsMatch).Count()}", "Поиск закончен", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
示例#2
0
        private void FindStartStopBtn_Click(object sender, EventArgs e)
        {
            if (!_searchOver && keyWordTB.Text != "" && fileNameMaskTB.Text != "" && PathTB.Text != "Выберите папку...")
            {
                if (_search != null)
                {
                    treeFolders.Nodes.Clear();
                }

                TimerPaint.Start();
                _searchOver       = true;
                searcMenu.Visible = true;

                FindStartStopBtn.Text = "Стоп";

                _search = new SearchResults(_folderPath, fileNameMaskTB.Text, ref treeFolders,
                                            (object _sender, EventArgs _e) =>
                {
                    MyFile mf = _sender as MyFile;

                    SetFilesCounterLabel(FilesCount());
                    mf.BackgroundColor = Color.Yellow;

                    ChangeFileNowName(GetNormalFileName(mf.FullName));

                    Thread.Sleep(50);
                },
                                            (object _sender, ReadFileEventArgs _e) =>
                {
                    MyFile mf = _sender as MyFile;

                    if (_e.MatchWasFound)
                    {
                        Task.Run(() =>
                        {
                            MessageBox.Show(mf.FullName, "Найдено совпадение!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        });

                        mf.BackgroundColor = Color.Green;
                    }
                    else
                    {
                        mf.BackgroundColor = Color.Red;
                    }

                    SetProgressBar();

                    Thread.Sleep(50);
                });

                progressSearch.Maximum = _search.Files.Count;

                _search.FindComplete += OnFindComplete;

                _search.FindMatches(keyWordTB.Text.ToLower());
            }
            else if (keyWordTB.Text == "" || fileNameMaskTB.Text == "")
            {
                MessageBox.Show("Необходимо ввести имя файла и ключевое слово!!!", "WARNING", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else if (PathTB.Text == "Выберите папку...")
            {
                MessageBox.Show("Необходимо выбрать папку!!!", "WARNING", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                TimerPaint.Stop();
                progressSearch.Value = 0;
                _search.StopFind();
                _searchOver           = false;
                searcMenu.Visible     = false;
                FindStartStopBtn.Text = "Поиск";
            }
        }