// richTextBox’ta Arama Yapma ve Renklendirme | www.yazilimcik.com
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
// richTextBox’ta Arama Yapma ve Renklendirme | www.yazilimcik.com
namespace KelimeBulma_ve_Renklendirme_Yazilimcik_Com
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            txtKelime.Focus();
        }
        private void btnKelimeBul_Click(object sender, EventArgs e)
        {
            try
            {
                aramaYap();
            }
            catch (Exception)
            {
                MessageBox.Show("Beklenmeyen Bir Durum Olustu..!\nLütfen Arama Islemini Tekrarlayiniz..!", "Yazilimcik.Com", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void aramaYap()
        {
            if (rtbCumle.Text != string.Empty)
            {
                if (txtKelime.Text != string.Empty)
                {
                    string kelime = txtKelime.Text;
                    int index = 0;
                    int sayac = 0;
                    string metin = rtbCumle.Text;
                    rtbCumle.Text = metin;
                    while (index 
                    {
                        rtbCumle.Find(kelime, index, rtbCumle.TextLength, RichTextBoxFinds.None);
                        rtbCumle.SelectionBackColor = Color.Yellow;
                        sayac++;
                        index = rtbCumle.Text.IndexOf(kelime, index) + 1;
                    }
                    if (index 
                    {
                        lblSonuc.Text = sayac.ToString() + " Sonuç Bulundu..";
                        MessageBox.Show("Aranan Kelime Bulunamadi..!\nLütfen Baska Bir Kelime Deneyin..!", "Yazilimcik.Com", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        txtKelime.Focus();
                    }
                    else
                    {
                        lblSonuc.Text = sayac.ToString() + " Sonuç Bulundu..";
                    }
                }
                else
                {
                    MessageBox.Show("Önce, Arama Yapilacak Kelimeyi Girmelisiniz..!", "Yazilimcik.Com", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    txtKelime.Focus();
                }
            }
            else
            {
                MessageBox.Show("Önce, Arama Yapilabilmesi Için Birkaç Cümle Yazmalisiniz..!", "Yazilimcik.Com", MessageBoxButtons.OK, MessageBoxIcon.Information);
                rtbCumle.Focus();
            }
        }
        private void btnTemizle_Click(object sender, EventArgs e)
        {
            rtbCumle.Text = string.Empty;
            txtKelime.Text = string.Empty;
            lblSonuc.Text = string.Empty;
            txtKelime.Focus();
        }
        private void txtKelime_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                aramaYap();
            }
        }
    }
}
// richTextBox’ta Arama Yapma ve Renklendirme | www.yazilimcik.com