答案当然是have dinner have 有吃的意思 这里这句话是说Green一家吃饭的时候喜欢看电视. when后引导的是一个时间状语从句 所以when后面的是一句完整的话 they have dinner 如果是at dinner的话缺少句子成分了 正确的是when they are at dinner 语感好的一读就知道
"when..."已经有了"...的时候"的意思.如果用at dinner,句子就变成they at dinner.因为they是代词做主语,at dinner是介词短语,就不能构成一个完整的英文句子了. 另外,用at dinner已经可以直接表示"在(吃)晚餐的时候"这个意思了,所以这句也可以翻译为The Greens like watching TV at dinner....