form_load方法执行的顺序

时间:2013-02-18 18:00:01

标签: c# .net winforms

我正在创建一个使用Gmaps.net的winforms应用程序。我无法改变调用Load方法的顺序。由于某种原因,map_load在man_Load之前被调用。有没有办法改变这个顺序?

如果我能提供更多信息以帮助您提问。 谢谢! 丹。

public partial class main : Form
{
    public main()
    {
        InitializeComponent();
    }

    private void main_Load(object sender, EventArgs e)
    {
        MessageBox.Show("main_load");
    }

    private void map_Load(object sender, EventArgs e)
    {
        MessageBox.Show("map_load");
    }
}

1 个答案:

答案 0 :(得分:3)

您似乎使用WinForms设计器来创建地图。后面的代码在InitializeComponent()方法中,似乎在加载MainForm之前加载了地图。

我的建议是在加载MainForm后创建地图:

public partial class main : Form
{
    public main()
    {
        InitializeComponent();
    }

    private void main_Load(object sender, EventArgs e)
    {
        Control map = CreateMap();
        map.Docking = DockStyle.Fill;
        this.Controls.Add(map);
    }

    private Control CreateMap()
    {
       // Create a new GMaps.NET object, intialize it and return
    }
}

希望它有所帮助。