I would appreciate some more opinions/advice here please, sorry.
My friend came over this morning with her DS to play with my DS. They were playing quite nicely but there were some issues with my DS getting upset when my friend's DS played with some of his toys. I have always explained to him before friends come over that it is nice if the toys in the living room are shared, and if there is anything he doesn't want the friend to play with we will take it upstairs out of the way. That way I don't think I am forcing him to share everything as he gets the chance to take a few "special" things out of the way, but he's not stopping the other child having fun either.
Anyway, it was going ok until the friend's DS took a train that my DS had his eye on but hadn't got there to get it yet. DS was holding quite a large toy dinosaur in his other hand and cried in frustration/anger, and hit my friend's DS quite hard in the face with it :( I was mortified.
Friend's DS was ok, didn't even cry though it did leave a mark. But obviously I had to show DS that this isn't acceptable! I could see my friend was obviously shocked too. So I was quite sharp, said loudly "NO, DS", removed him from the room for a minute and then went in to see if my friend's DS was ok (he was). I then took my DS into another room, told him that I needed to take the dinosaur as it wasn't nice to hit people with it. DS was just crying for the dinosaur. I explained to him that his friend's DS would be sad, would have been hurt, and that hitting people with things isn't acceptable, etc etc. I went on for a bit I think but it didn't seem to be sinking in (though he does understand explanations) as he just cried for his dinosaur back. I said no because it wasn't for hitting. Eventually he asked to go back into the living room, I did say in the kitchen "do you think (friend's DS) might like to hear you say sorry?" but I didn't push it, he did say sorry but was still crying for the bloody dinosaur! I refused to give it back.
Then my friend distracted them both into something else, which I feel I should have done but I didn't want the friend's mum to think I was accepting this type of behaviour.
So I'm guessing the way I handled it wasn't particularly great or unconditional? But was I too harsh, or too soft? How would you have handled this? I know the best thing is to nip this sort of thing in the bud but I honestly tried, it happened so quickly - my friend and I are usually ok at diverting them with games.