Hi textbox_Leave event is fired everytime AutoCompleteStringCollection is cleared..any ideas how I can prevent the leave event to fire while clearing AutoCompleteStringCollection

You some boolan flag. Like this:

bool bChecking;
        void textBox1_Leave()
        {
            if (!bChecking)
            {
                //put your code in the event in here!
            }
        }

        void YourCurrentMethod()
        {
            //do some code, which you want to do, and which fires Leave event of textBox!
            //just before the code fires the Leave event do:
            bChecking = true;
            //code...
            
            //and on the end set the flag back to false, so when the Leave event will be really called, it will be executed as well:
            bChecking = false;
            //and set the focus on textBox:
            textBox1.Focus();
        }