My DD is 3 and we tend to use natural consequences for any undesirable behaviour, e.g. she drew on the carpet with a felt pen out of frustration so the pens went away. This works fine for us most of the time but today she was refusing to tidy up her toys at bedtime and I was at a loss of what the consequence should be. To be clear I don't expect her to tidy up on her own yet, I help and direct her of what particular toy she could put away next, try to make it into a game if she's really not getting it etc but today she flat out refused and just carried on playing alongside me whilst I started tidying up.
In what was not my finest hour I got very frustrated, scooped up all the bits I'd asked her to help me with into a carrier bag and put them up out of the way and told her she wouldn't be getting them back until she agrees to tidy up. She said "OK, I'll play with them tomorrow" which made me think she didn't fully understand what I was saying. I told her if she wanted to play with them tomorrow she would be putting them away first. She told me she was sad with me but I think that was for taking the toys away, not the threat of not having them back to play with.
We've also had some instances of food throwing because she's got frustrated with using a fork so ends up flicking food on the floor, I try to get her to help me clean it up but sometimes she flat out refuses and again this has been at times where "You're not playing until it's done" can't be used, e.g. we need to leave to go to preschool or for a bath.
What do you do in these scenarios?