Using WinForms, I'd probably start with a user control for each of the "records", a Person class that's populated from the database and acts as a data source for the user control, then use a flow layout control in the form which lays out multiple instances of the user control.

That said, you probably want to consider how to handle hundreds or thousands of results, because that would cause both display issues and performance issues.