c# - 在 usecontrol 中显示表单中的图片框
问题描述
我需要在用户控件中显示在主窗体中形成的图片框,还要保存对该图片框的订阅。在这个类中,我填写字段,然后使用 foreach 将图片框传递给用户控件
public class UserCtr
{
public event Action<List<Users>> ClickPicture;
public event Action<List<Users>, Group> DoubleClickPicture;
public Group group { get; set; }
public PictureBox picture { get; set; }
public List<Users> users { get; set; }
public UserCtr(Group group, PictureBox picture, List<Users> users)
{
this.group = group;
this.picture = picture;
this.users = users;
this.picture.Click += PictureClick;
this.picture.MouseDoubleClick += PictureDoubleClick;
}
private void PictureClick(object s, EventArgs e)
{
ClickPicture(users);
}
private void PictureDoubleClick(object s, EventArgs e)
{
DoubleClickPicture(users, group);
}
}
foreach 循环
foreach (var item in groups.users)
{
item.picture.Image = yellow;
panel.Controls.Add(new UserControl1(item.picture)
{
Text = item.user.Name,
//pb = item.picture
});
}
我的用户控件
public partial class UserControl1 : UserControl
{
public UserControl1(PictureBox pic)
{
InitializeComponent();
Load += (s, e) => pictureBox1 = pic;
Invalidate();
}
protected override void OnTextChanged(EventArgs e)
{
base.OnTextChanged(e);
label1.Text = Text;
}
}
}
label填了,picturebox是空的
解决方案
推荐阅读
- java - 如何更改已在 JavaFX 中的 .fxml 文件中定义的文本元素的值?
- batch-file - 无法将某些行输出到批处理文件
- python - python:如何获取字典列表中字典键的最大值
- jquery - 不断收到错误:$.deferred 不是函数
- json - 获取:无法将字符串解组为 Go 值
- python - 尽管上面几行工作正常,但询问 pandas 是否缺少一个值是行不通的
- javascript - 设置 sameSite="none" 和 secure="true" 不能修复 Chrome 引发的新 CORS 错误
- node.js - 如果取消上传,不会删除 Multer 文件
- f# - 如何在 F# 中尽快释放事件
- typescript - 使用 TypeScript 中另一个数组中的键设置复合对象值的子集