0

我有一个 MDI 表单,当我启动程序时,打开的子窗口总是回到后面,我尝试在 MDI 表单上使用 sendtoback(),在子表单上尝试使用 bringtofront(),没有运气。任何人?

private void MDI_Form_Load(object sender, EventArgs e)
{
   SendToBack();
   Form1 loginscrn = new Form1();
   loginscrn.Show();
}

private void Form1_Load(object sender, EventArgs e)
{
   BringToFront();
   SqlConnection connection = new SqlConnection(@"server=.\SQLEXPRESS; database=loginsTest;Trusted_Connection=yes");
   connection.Open();
   string selection = "select * from Logins where Name = '"+userNameBox.Text+"'";
   SqlCommand command = new SqlCommand(selection, connection);
   SqlDataAdapter da = new SqlDataAdapter(command);
   DataSet ds = new DataSet();
   da.Fill(ds);
   DataTable dt = ds.Tables[0];
}
4

2 回答 2

2

它是:

loginscrn.ShowDialog(this);

使它成为一个对话框,或者:

loginscrn.MdiParent = this;
loginscrn.Show();

如果该表格被假定为 mdi 孩子。

于 2013-10-04T20:50:52.267 回答
0

尝试设置Owner属性。“拥有者的窗户永远不能覆盖拥有的窗户。” 有关详细信息,请阅读此msdn 文章

编辑:在 form_load 中调用 BringToFront() 对你没有任何好处,因为此时表单不可见。您可以尝试将其移至 OnShown。

    protected override void OnShown(EventArgs e)
    {
        this.BringToFront();
        base.OnShown(e);
    }
于 2013-10-04T23:51:09.940 回答