This uses the DGV's CellFormatting event to search for text and apply a colour to it. Deleting the search text and performing the search again will remove the colour.

I'm using a TextBox and a Button to perform the search.
You could use a background colour instead, or both.
It searches every cell, but you could restrict it to particular columns using e.columnIndex.
This code was created using

public partial class Form1 : Form {
    string searchTerm = String.Empty;
    bool searching = false;

    public Form1() {

    private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) {
        if (searching && e.Value != null) {
            string stringValue = (string)e.Value;
            stringValue = stringValue.ToLower();
            if ((stringValue.IndexOf(searchTerm) > -1)) {
                e.CellStyle.ForeColor = Color.Red;

    private void button1_Click(object sender, EventArgs e) {
        searchTerm = textBox1.Text;
        searching = !String.IsNullOrWhiteSpace(searchTerm);