form.show 和 form.Activate 的区别

Sye*_*hab 5 .net c# winforms

我想知道的区别form.show()form.activate()

我有多个已经打开的表单,我想激活另一个表单后面的表单,这是调用我想要的表单的最佳方式 form.show()还是form.activate()

Sla*_*jic 5

方法Show()向用户显示表单。

方法Activate() 将表单置于最前面(它为表单提供焦点)。

例如:

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

    private void button1_Click(object sender, EventArgs e)
    {
        Form2 form2 = new Form2();
        form2.Show();
        this.Activate();
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码将通过调用显示 form2 form2.Show();,但 form1 将位于 form2 的前面(焦点),因为this.Activate();

请参阅 MSDN 文档: