سلام
یه flowLayoutPanel به فرم اضافه کنید. بعد دکمه ها رو با کد بسازید و داخل پنل اضافه کنید.
اول یه سلکت انجام بدید و کل ردیفهای دیتابیس رو توی دیتاتیبل بریزید بعد به ازای هر ردیف یه دکمه یا هر کنترل دیگه ای بسازید
foreach(DataRow dr in myDt)
{
Button btn=new Button();
btn.Text=dr["fildeTextDarDb"].ToString();
btn.Tag=dr["fildeIdDarDb"].ToString();
//image , ...
flowLayoutPanel1.Controls.Add(btn);
}
کدها رو همینجا نوشتم شاید غلط املایی داشته باشه.
البته می تونید یه کلاس درست کنید که از دکمه ارث بری میکنه و خودتون یه پراپرتی بهش اضافه کنید برای id و از خاصیت تگ استفاده نکنید.
و اینکه میشه یه UserControl ایجاد کرد (به جای دکمه در کد بالا) که مثل همون تمپلیت خودتون بتونید طراحیش کنید. و به جای دکمه از این یوزر کنترل بسازید و به پنل اضافه کنید.