本帖最后由 xiemeilin 于 2010-05-20 16:57:55 编辑

解决方案 »

  1.   

    加个 Application.DoEvents();  试试
      

  2.   

    你这个refresh该放那个位置呢?
      

  3.   

    刚试过refresh是没有起到作用的。
      

  4.   

    感觉像是txtbox[i].ReadOnly = true;这个的问题
      

  5.   

    readonly这个属性应该是没有问题的,因为这个属性设置为真的话只能通过代码来修改数据而不能让用户去动这个数据的。
      

  6.   

    如果没有办法解决的话只能拖控件上去了。这个bug我也是昨天做测试的时候才发现,一下倒不知怎么解决了。
      

  7.   

    问题应该出现在窗体激活动作上。
    我以前曾经做过这方面的东西。
    你想想,最小化后再放大就不会出现问题了。最小化后再放大代表着窗体的激活。
    说明,要达到你想要的效果,需要一个窗体激活的动作。
    你应该从form1的那个按钮中几个判断
    if form2已经打开
        执行激活form2的操作
    else
        执行打开form2的操作
       
      

  8.   

    textbox数据更新的代码是怎样的?问题应该出在 更新代码上
      

  9.   

    我打开船体的操作如下:
            public void showfrm(Form Frmname, Form frmMdiParent)
            {
                bool blnOpen = false;
                foreach (Form frmOpen in frmMdiParent.MdiChildren)
                {
                    if (frmOpen.Name == Frmname.Name)
                    {
                        frmOpen.Activate();
                        blnOpen = true;
                        break;
                    }
                }
                if (blnOpen == false)
                {
                    Frmname.MdiParent = frmMdiParent;
                    Frmname.Show();
                    Frmname.WindowState = FormWindowState.Normal;
                    
                }        }
    然后我刚才试了一下,将创建textbox数组的函数从formload移到form_actived里面来结果还是一样