c# -从早期代码创建的图片框中拖放

本文关键字:拖放 创建 代码 | 更新日期: 2023-09-27 17:54:44

我正在尝试编写一个带有图片框的拖放系统。我之前就这样做了,只不过这一次,我是通过代码而不是在设计器中创建图片框的。

DASporter dasporter = new DASporter();
        List<int> landids = dasporter.getLandenBySport(1);
        DALand daland = new DALand();
        Land land = null;
        PictureBox[] landenfotos = new PictureBox[landids.Count];
        int teller = 80;
        for (int i = 0; i <= landids.Count - 1; i++)
        {
            land = daland.getLand(landids[i]);
            landenfotos[i] = new PictureBox();
            landenfotos[i].Name = "Picturebox" + land.Id.ToString();
            landenfotos[i].Location = new Point(70, teller);
            landenfotos[i].Tag = land.Naam;
            landenfotos[i].Size = new Size(70, 70);
            landenfotos[i].Image = Image.FromFile("images/" + land.Vlag);
            landenfotos[i].SizeMode = PictureBoxSizeMode.Zoom;
            this.Controls.Add(landenfotos[i]);
            teller += 60;
        }

如果你在设计器中创建它们,你可以使用事件管理器来搜索正确的事件。现在,我不能用这个,所以我需要一个替代方案。

有谁也遇到过这个问题并解决了吗?我到处都找不到解决办法。

c# -从早期代码创建的图片框中拖放

您可以通过键入

轻松添加事件处理程序
landenfotos[i].MouseMove +=<Tab><Tab>

+=之后按两次<Tab>将自动创建一个事件处理程序。

它将完成到

的行
landenfotos[i].MouseMove += new MouseEventHandler(SomeMethodName_MouseMove);

并添加

方法
void SomeMethodName_MouseMove(object sender, MouseEventArgs e)
{
    throw new NotImplementedException();
}

当然,Intellisense会显示所有可用的事件供您选择:-)