正确答案是B.
我们可以把答案变成主动句的形式去判断:
1)A be seen steal
还原成:Sb happened to see him steal a laptop computer from the school labratory.
但是不带to的不定式做宾语补足语,变成被动语态时需要加上to(即be seen to steal),所以排除A.
2) C be caught to steal
还原成:Sb happened to catch him steal a laptop computer from the school labratory.
但是catch只有catch sb doing sth的结构,没有catch sb do sth的结构,排除C.
3)D be caught being stealing
还原成:Sb happened to catch him being stealing a laptop computer from the school labratory.
语法中是不可能使用being doing sth来做宾语补足语的,排除D.
4)B be seen stealing
还原成:Sb happened to see him stealing a laptop computer from the school labratory.
刚好符合句子要求,see sb doing sth “看见某人正做某事”.