有一个父窗口,从菜单选择跳出的子窗口有两个问题
1.f(menuItem111.Text == "売上仕入日報2" )
{
mForm1511 = new SS1511(); // トップレベルウィンドウとしない
mForm1511.TopLevel = false; // 呼び出し先フォームを呼び出し元フォームのコントロールとして追加
this.Controls.Add(mForm1511); // 位置設定
mForm1511.Location = new System.Drawing.Point(0, 00); // 表示
mForm1511.Show(); // 最前面にする
mForm1511.BringToFront();
}
 可以把窗口提到最前面,但是快捷键用不了
2. Form2 f = new Form2();
            f.MdiParent = this;
            f.Show();快捷键好用,但是问题是父窗口有控件,子窗口出现在控件后面,BringToFront也没用?
怎么样使快捷键好使,同时窗口在最前面?

解决方案 »

  1.   

    to 1
    change
    mForm1511.BringToFront();with
    mForm1511.TopMost = true;
      

  2.   

    to 快捷键好用,但是问题是父窗口有控件,子窗口出现在控件后面,BringToFront也没用?
    怎么样使快捷键好使,同时窗口在最前面?可以调用control.SendToBack方法来实现。
      

  3.   

    不过在mdi中,主窗体加入control做法并不是太好,因为control所在的层比较难控制。
    你说说你加入了什么control,目的是什么
      

  4.   

    如果设置TopLevel=true还不能把窗口设置到最前面,建议用API:
    SetWindowPos(this.Handle,IntPtr.Zero,0,0,0,0,SWP_NOSIZE | SWP_NOMOVE);
      

  5.   

    楼主的思路我曾经走过!
       方法1:一般不使用,控制难!
       方法2:框架没搭对!建议:使用现成控件:Janus,DotnetBar
      

  6.   

    比不过Knight94的耐心~ 顶顶吧~
      

  7.   

    to Knight94(愚翁)
    topmost试过的,也不行
      

  8.   

    to topmost试过的,也不行调用control的SendToBack方法呢
      

  9.   

    [ DllImport("user32") ] 
    public static extern int SetWindowPos(int hwnd, int hWndInsertAfter, int x, int y, int cx, int cy, int wFlags);调用
    SetWindowPos(this.Handle.ToInt32(),3,0,0,0,0,8);
      

  10.   

    你上codeproject吧,弄个MDI管理的控件得了.
      

  11.   

    1添加控件的方式把
    // 最前面にする
    mForm1511.BringToFront();改成
    this.Controls.SetChildIndex(mForm1511,0);
    试试看。。******************
    不知道lz说的快捷不能用什么意思的说。- -!
      

  12.   

    2. 

                f.MdiParent = this;
                f.Show();
    改成
                f.ShowDialog();不知能不能满足要求
    (200分阿。。哦哦~~~)
      

  13.   

    sendtoback 没用
    不能用showdialog
      

  14.   

    1.设定位置:   this.SetBounds()2.激活到最前面:   this.Focus()
      

  15.   

    现在做界面,mdi不是一个好的选择,很难控制
      

  16.   

    只用过一个月WINFORM不熟,关注一下了