在点击事件的最后写上b.topmost=true

解决方案 »

  1.   

    fourfire29(沙子) :没用的
    redant0(红蚂蚁) :是的。但如果不是从A中SHOW的窗体也会造成这样的情况
      

  2.   

    我试了,没问题呀。
    Form1中:Form2 ddd = new Form2();
    ddd.ss = dataGrid1;
    ddd.Show();
    ddd.TopMost = true;
    Form2中:
    定义public System.Windows.Forms.DataGrid ss;
    ss.DataSource= dataSet11;
      

  3.   

    if(selectForm.Visible==false)
    {
    selectForm.Show();
    }

    selectForm.TopMost=true;
    测试通过
      

  4.   

    如果你不想跑出来的话,可以用ShowDialogs();
    这样的话,如果你不关它的话,它始终在前面
      

  5.   

    1  我不能使用ShowDialog方法,因为我需要同时打开几个窗体
    2  沙子和红蚂蚁:我试过,在最简单的情况下(只有两个空窗体和一个DATAGRID),使用TOPMOST有时是可行的。但我的DATAGRID上面有好几层父控件,是不行的。
      

  6.   

    用form.active,或是TopMost 属性多试试,也可能是语句安排的问题;
      

  7.   

    curdle(手中无剑)  一百年前就试过了。
      

  8.   

    是的,我今天早上想办法避免了。
    我的方法是尽量不更新DataSource属性,而是直接更新DataSouce所对应的表里的数据行。谢谢大家的参与。