A couple of things:
1) Your query as written will returns rows where any one of the conditions passes. I.e. if the user has entered the ID, or the user has entered the Reg_Date, or... You need to think about this a bit more.
2) You do not need to use the ToString method on Text properties: they are already strings!
3) You should not create queries by concatenating strings: it leave you wide open to an accidental or deliberate SQL Injection attack, which could destroy your database. Instead, use parametrized queries:
SqlCommand com = new SqlCommand("SELECT * FROM Agent WHERE AgentID=@ID OR RegistrationDate=@RD", con);
com.Parameters.AddWithValue("@ID", txtA_ID.Text);
com.Parameters.AddWithValue("@ID", txtReg_Date.Text);
(I shortened it, but you get the idea).
I would suggest you start small: use LIKE on a single field, and then expand as needed