如何使用户能够使用textBox搜索多个文本?

时间:2016-07-02 13:16:51

标签: c# .net winforms

今天当我在textBox1中键入任何文本然后单击开始按钮时,它将在文件内搜索我在textBox1中输入的文本。

现在我想以某种方式添加一些内容,如果用户在textBox1中输入例如:hello,嗨它将搜索hello以及文件中的hi。不是一个字符串/文本,而是两个分开。如果我输入:hello,hi,world现在它将同时搜索相同的文件,也可以用于hello hi和world。

textchanged事件

import numpy as np

H = W = 1000
Hv = Wv = 900
N = 100

A = np.arange(H * W).reshape(H, W)

V = [A[i:Hv + i, i:Wv + i] for i in range(N)]

K = np.random.rand(N)

# It neither uses speed broadcast nor low memory!
B = sum(v*k for v, k in zip(V, K))

开始按钮点击事件

private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (textBox1.Text != "" && textBox3.Text != "" && Directory.Exists(textBox3.Text))
            {
                startButton.Enabled = true;
                Properties.Settings.Default["Setting2"] = textBox1.Text;
                Properties.Settings.Default.Save();
            }
            else
            {
                startButton.Enabled = false;
            }
        } 

Dowork活动

private void startButton_Click(object sender, EventArgs e)
        {
            label21.Visible = true;
            startButton.Enabled = false;
            stopButton.Enabled = true;
            pauseresumeButton.Enabled = true;
            timer1.Start();
            if (!backgroundWorker1.IsBusy)
            {
                SetWorkerMode(true);
                backgroundWorker1.RunWorkerAsync();
            }
        }

我搜索文件中文本的DirSearch方法。

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker worker = sender as BackgroundWorker;
            _stopwatch.Restart();
            DirSearch(textBox3.Text, textBox2.Text, textBox1.Text, worker, e);
            _stopwatch.Stop();
        }

在DirSearch中,变量textToSearch包含我在textBox1中输入的文本。 如果我输入textBox1只有HI,那么现在它将在每个文件中搜索HI的现有。

但如果我输入HI,HELLO,WORLD 现在我希望它在HI HELLO WORLD的每个文件中搜索现有文件不是一个文本字符串,而是每个文字都存在。

如果我键入Hi HELLO WORLD,它会将其搜索为一个字符串/文本,但一旦用户放置,它之间应搜索每个单词/文本。

1 个答案:

答案 0 :(得分:1)

您可以根据空格,逗号或任何其他分隔符在文本框中拆分输入,然后将这些输入作为单独的输入传递给您的搜索方法,希望这有帮助