if they tell u that they know how u did the trick tell them something like:
"really??? me too!!!"-that usally makes them shut up... if u make a joke about it, ur'e still enterteining and keep ur tricks safe.
NEVER tell them: "well, u do it if ur'e so smart"
ur target is to entertain, i know that when u show it to friends and stuff u can't treat them as u treat ur audiance. friends always ask me to do my trick again, or tell me to tell them how it was done, i always give them the same answer:
"1st time is free, 2nd time is 5$"
ovcorse they would never agree, but go figure!!! if they wanna know how u did it then tell them:
"1st time is enterteinment, 2nd time is teaching"
u can also add money involved there... but if they agree to pay (never happens, but if it does) then just say: "oh, but ur'e not a magician"...
except for 1 time that i got payed 10$ for teaching the 21 card trick, coz i gave it a REALLY good presentation, i learned from this simple trick 10$.
and don't think i got the money off some kid, i did in the 3 adults... one of them offerd me 10$, so i teached him in the side and then he did the trick like a pro after 3 min
well, thats not relevent here, anyway, have the best of luck!!!