用户控制:针对数据库中的每个对象

User control: For each object in the database

我想要实现的是,对于数据库中存在的每个对象(用户),我都想创建一个用户控件并将其显示在表单中。

 UserControl1 u = new UserControl1();
 flowLayoutPanel1.Controls.Add(u);

目前这是我代码中的一个用户:(注意:我正在使用 Entity Framework)

public partial class User
    {
        public User()
        {
            this.Review = new HashSet<Review>();
        }

        public string username { get; set; }

        public virtual ICollection<Review> Review { get; set; }
    }

这是我获取所有用户的方法:

public List<User> GetAllUsers()
        {
            return db.User.ToList();
        }

你的问题不是很清楚,但会尽力回答。根据类型(WinForms、WPF、ASP .NET),您可以绑定,但如果失败,您可以像这样手动操作:

var users = GetAllUsers();

foreach (var user in users)
{
    UserControl1 u = new UserControl1();
    u.UserName = user.username; 
    flowLayoutPanel1.Controls.Add(u);
 }

然后您可以在其中使用循环中 user 中的信息设置用户控件。你如何设置是另一个问题,你是否注入构造函数,公开属性等。但是 - 如果这不是你的意思,请你澄清你的问题。