本人对C#了解深度还是有限。现碰到一个问题,就是多视图切换问题。我有多种想法,但都一一被我排除了。现想请教老鸟们的想法。在线等各位了。

解决方案 »

  1.   

    事件处理就不说了,要让其它窗体显示在某个窗体中类似SQL SERVER的效果就用MDI
      

  2.   

    好像意思是平常是Hide的,需要的时候show出来没有什么难的,你就判断这个MDI Form中有多少个加载了的视图,同时那个视图是符合你需要的,然后Show出来即可下面是我的一小段代码,参考参考
    #region 激活
    foreach (System.Windows.Forms.Form f in this.MdiChildren)
    {
        if (f is AutoSS.Stock.frmGridStockSale_Cancel)
        {
            if (((AutoSS.Stock.frmGridStockSale_Cancel)f).CurrentStockType == 100)
            {
                DebugActive(item);            f.Activate();
                return;
            }
        }
    }
    #endregion 激活#region 调用
    AutoSS.Stock.frmGridStockSale_Cancel frmTmp = new AutoSS.Stock.frmGridStockSale_Cancel();frmTmp.CurrentStockType = 100;
    frmTmp.MdiParent = this;
    frmTmp.Show();
    #endregion 调用记住,这两个100就是这个视图需要的标示,因为一个Form有可能被多种用途打开,而需要激活的只是当中的一个,就是根据这个值区分的,当然,你可以选择使用其它的标示,例如文本
    CurrentStockType  只是里头Public的属性