现在手上有一个问题,有两个 Form ,分别命名为 Main_Form 和 Timing ,在 Timing 窗体上有一个 datagrid 控件,定时地从数据库里取出数据并更新 datagrid 列表.现在的问题是当 Main_Form 窗体在 Timing 窗体上面的时候,Timing 窗体中的数据一更新 Timing 窗体就自动跑到 Main_Form 窗体上面来了.请问有什么办法能够让 Timing 窗体保持原有状态(即:不自动跑到最上面来,除非鼠标点击该窗体). 
另外:不想有 TopMost 属性,因为用这个属性的话不管在什么时候窗体永远都是在最前面的,既使你点了其它窗体或应用程序,比如 word 等.

解决方案 »

  1.   

    Config c=new Config();private void BindData()
    {
    c.Connect0();
    strSQL = "select * from remind where factremindtimes < remindtimes";
    da = new OleDbDataAdapter(strSQL,c.conn);
    da.Fill(ds);
    dg.DataSource = ds.Tables[0];

    c.conn.Close();
    }private void timer1_Tick(object sender, System.EventArgs e)
    {
    this.BindData();
    }=========================================================================Config 类为连接数据库类
      

  2.   

    如果你确定这是由datagrid获得焦点引起的话,可以采用将 datagrid 的 CanFocus 属性设置为 false 来避免它得到焦点。如果只是要在更新时不让他获得焦点的话可以加上一些条件判断就行了。
      

  3.   

    呵呵,vs2003下winform中的datagrid中的CanFocus是一个只读属性,无法设置呀.