「have a good/hard/〜 time …ing」で、動名詞でしょう。