>>  Winform查找根目录

  1) AppDomain.CurrentDomain.BaseDirectory 地址为: d:\MyProject\Bin\

    Application.StartupPath的地址为:d:\MyProject\Bin

  2)Application.StartupPath只可以用于Winform窗体中 

   AppDomain.CurrentDomain.BaseDirectory可用于Winform窗体中和Dll文件中

 

>> 如何使Winform实现全屏显示

  1)设置窗体的WindowState=Maxinized

  2)获取窗体中个控件的状态、窗体的初始尺寸、窗体中各控件的初始尺寸

    #region 窗体大小控制
        private ArrayList InitialCrl = new ArrayList();//用以存储窗体中所有的控件名称        
        private ArrayList CrlLocationX = new ArrayList();//用以存储窗体中所有的控件原始位置        
        private ArrayList CrlLocationY = new ArrayList();//用以存储窗体中所有的控件原始位置        
        private ArrayList CrlSizeWidth = new ArrayList();//用以存储窗体中所有的控件原始的水平尺寸
        private ArrayList CrlSizeHeight = new ArrayList();//用以存储窗体中所有的控件原始的垂直尺寸
        private int FormSizeWidth;//用以存储窗体原始的水平尺寸        
        private int FormSizeHeight;//用以存储窗体原始的垂直尺寸                     
        private double FormSizeChangedX;//用以存储相关父窗体/容器的水平变化量        
        private double FormSizeChangedY;//用以存储相关父窗体/容器的垂直变化量         
        private int Wcounter = 0;//为防止递归遍历控件时产生混乱,故专门设定一个全局计数器     

        public void ResetAllCrlState(Control CrlContainer)
        //重新设定窗体中各控件的状态(在与原状态的对比中计算而来)        
        {
            FormSizeChangedX = (double)this.Size.Width / (double)FormSizeWidth;
            FormSizeChangedY = (double)this.Size.Height / (double)FormSizeHeight;
            foreach (Control kCrl in CrlContainer.Controls)
            {
                if (kCrl.Controls.Count > 0)
                {
                    ResetAllCrlState(kCrl);
                }
                Point point = new Point();
                point.X = (int)((int)CrlLocationX[Wcounter] * FormSizeChangedX);
                point.Y = (int)((int)CrlLocationY[Wcounter] * FormSizeChangedY);
                kCrl.Width = (int)((int)CrlSizeWidth[Wcounter] * FormSizeChangedX);
                kCrl.Height = (int)((int)CrlSizeHeight[Wcounter] * FormSizeChangedY);
                kCrl.Bounds = new Rectangle(point, kCrl.Size);
                Wcounter++;
            }
        }
        public void GetInitialFormSize()
        //获得并存储窗体的初始尺寸        
        {
            FormSizeWidth = this.Size.Width;
            FormSizeHeight = this.Size.Height;
        }
        public void GetAllCrlLocation(Control CrlContainer)
        //获得并存储窗体中各控件的初始位置 
        {
            foreach (Control iCrl in CrlContainer.Controls)
            {
                if (iCrl.Controls.Count > 0)
                    GetAllCrlLocation(iCrl);
                InitialCrl.Add(iCrl);
                CrlLocationX.Add(iCrl.Location.X);
                CrlLocationY.Add(iCrl.Location.Y);
            }
        }
        public void GetAllCrlSize(Control CrlContainer)
        //获得并存储窗体中各控件的初始尺寸        
        {
            foreach (Control iCrl in CrlContainer.Controls)
            {
                if (iCrl.Controls.Count > 0)
                    GetAllCrlSize(iCrl);
                CrlSizeWidth.Add(iCrl.Width);
                CrlSizeHeight.Add(iCrl.Height);
            }
        }
      
 
        #endregion
View Code

分类:

技术点:

相关文章: