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

时间:2014-03-29 18:33:36

标签: c# winforms drag-and-drop picturebox

我正在尝试使用图片框编写拖放系统。我之前做过这个,除了这次,我用代码创建了图片框而不是设计师。

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;
        }

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

任何有这个问题并且解决了问题的人?我无法在任何地方找到解决方案。

1 个答案:

答案 0 :(得分:1)

您可以通过键入

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

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

它将完成

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

并添加方法

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

当然,Intellisense会向您展示所有可供选择的活动: - )