>> 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