Well yes...look at your code!
... = ... .ToLower().Replace(f.txtfind.Text.ToLower(), f.txtreplace.Text);
You are lower casing your data before and during the Replace operation, so the result will always be lower case.
Consider using a Regex.Replace instead, which has a case insensitive version:
Regex.Replace Method (String, String, String, RegexOptions) (System.Text.RegularExpressions)[
^]