 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace DayCount{  public partial class Form1 : Form  {    public Form1()    {      InitializeComponent();    }    private float X;    private float Y;    DateTime timeD = Convert.ToDateTime("2017-10-18");    private void Form1_Load(object sender, EventArgs e)    {      dateTimeExam.Value = Convert.ToDateTime("2017-10-18");      dateTimeNow.Value = DateTime.Now;      DateTime t1 = Convert.ToDateTime("2017-10-18");      DateTime t2 = Convert.ToDateTime(DateTime.Now);      TimeSpan ts = t1 - t2;      labDays.Text = Convert.ToString(ts.Days)  "天";      labHours.Text = Convert.ToString(ts.Hours)  "时";      labMin.Text = Convert.ToString(ts.Minutes)  "分";      labS.Text = Convert.ToString(ts.Seconds)  "秒";      this.Resize = new EventHandler(Form1_Resize);      X = this.Width;      Y = this.Height;      setTag(this);      Form1_Resize(new object(), new EventArgs());//x,y可在实例化时赋值,最后这句是新加的,在MDI时有用      this.KeyPreview = true;    }//     private void timer1_Tick(object sender, EventArgs e)    {      dateTimeExam.Value = timeD;      dateTimeNow.Value = DateTime.Now;      DateTime t1 = timeD;      DateTime t2 = Convert.ToDateTime(DateTime.Now);      TimeSpan ts = t1 - t2;      labDays.Text = Convert.ToString(ts.Days)  "天";      labHours.Text = Convert.ToString(ts.Hours)  "时";      labMin.Text = Convert.ToString(ts.Minutes)  "分";      labS.Text = Convert.ToString(ts.Seconds)  "秒";    }    private void dateTimeExam_ValueChanged(object sender, EventArgs e)    {      timeD = dateTimeExam.Value;    }    private void setTag(Control cons)    {      foreach (Control con in cons.Controls)      {        con.Tag = con.Width  ":"  con.Height  ":"  con.Left  ":"  con.Top  ":"  con.Font.Size;        if (con.Controls.Count > 0)          setTag(con);      }    }    private void setControls(float newx, float newy, Control cons)    {      foreach (Control con in cons.Controls)      {        string[] mytag = con.Tag.ToString().Split(new char[] { ':' });        float a = Convert.ToSingle(mytag[0]) * newx;        con.Width = (int)a;        a = Convert.ToSingle(mytag[1]) * newy;        con.Height = (int)(a);        a = Convert.ToSingle(mytag[2]) * newx;        con.Left = (int)(a);        a = Convert.ToSingle(mytag[3]) * newy;        con.Top = (int)(a);        Single currentSize = Convert.ToSingle(mytag[4]) * Math.Min(newx, newy);        con.Font = new Font(con.Font.Name, currentSize, con.Font.Style, con.Font.Unit);        if (con.Controls.Count > 0)        {          setControls(newx, newy, con);        }      }    }    void Form1_Resize(object sender, EventArgs e)    {      float newx = (this.Width) / X;      float newy = this.Height / Y;      setControls(newx, newy, this);      this.Text = this.Width.ToString()  " "  this.Height.ToString();      //窗体最大化时 会全屏 及遮盖任务栏      if (this.WindowState == FormWindowState.Maximized)      {           this.FormBorderStyle = FormBorderStyle.None;        this.WindowState = FormWindowState.Maximized;      }    }    //注意,不要只copy KeyPress过程进去你的代码,要关联上事件    private void Form1_KeyPress(object sender, KeyPressEventArgs e)    {      if (e.KeyChar == (char)Keys.Escape)      {        this.WindowState = FormWindowState.Normal;        this.FormBorderStyle = FormBorderStyle.FixedDialog;      }    }  }}
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace DayCount{  public partial class Form1 : Form  {    public Form1()    {      InitializeComponent();    }    private float X;    private float Y;    DateTime timeD = Convert.ToDateTime("2017-10-18");    private void Form1_Load(object sender, EventArgs e)    {      dateTimeExam.Value = Convert.ToDateTime("2017-10-18");      dateTimeNow.Value = DateTime.Now;      DateTime t1 = Convert.ToDateTime("2017-10-18");      DateTime t2 = Convert.ToDateTime(DateTime.Now);      TimeSpan ts = t1 - t2;      labDays.Text = Convert.ToString(ts.Days)  "天";      labHours.Text = Convert.ToString(ts.Hours)  "时";      labMin.Text = Convert.ToString(ts.Minutes)  "分";      labS.Text = Convert.ToString(ts.Seconds)  "秒";      this.Resize = new EventHandler(Form1_Resize);      X = this.Width;      Y = this.Height;      setTag(this);      Form1_Resize(new object(), new EventArgs());//x,y可在实例化时赋值,最后这句是新加的,在MDI时有用      this.KeyPreview = true;    }//     private void timer1_Tick(object sender, EventArgs e)    {      dateTimeExam.Value = timeD;      dateTimeNow.Value = DateTime.Now;      DateTime t1 = timeD;      DateTime t2 = Convert.ToDateTime(DateTime.Now);      TimeSpan ts = t1 - t2;      labDays.Text = Convert.ToString(ts.Days)  "天";      labHours.Text = Convert.ToString(ts.Hours)  "时";      labMin.Text = Convert.ToString(ts.Minutes)  "分";      labS.Text = Convert.ToString(ts.Seconds)  "秒";    }    private void dateTimeExam_ValueChanged(object sender, EventArgs e)    {      timeD = dateTimeExam.Value;    }    private void setTag(Control cons)    {      foreach (Control con in cons.Controls)      {        con.Tag = con.Width  ":"  con.Height  ":"  con.Left  ":"  con.Top  ":"  con.Font.Size;        if (con.Controls.Count > 0)          setTag(con);      }    }    private void setControls(float newx, float newy, Control cons)    {      foreach (Control con in cons.Controls)      {        string[] mytag = con.Tag.ToString().Split(new char[] { ':' });        float a = Convert.ToSingle(mytag[0]) * newx;        con.Width = (int)a;        a = Convert.ToSingle(mytag[1]) * newy;        con.Height = (int)(a);        a = Convert.ToSingle(mytag[2]) * newx;        con.Left = (int)(a);        a = Convert.ToSingle(mytag[3]) * newy;        con.Top = (int)(a);        Single currentSize = Convert.ToSingle(mytag[4]) * Math.Min(newx, newy);        con.Font = new Font(con.Font.Name, currentSize, con.Font.Style, con.Font.Unit);        if (con.Controls.Count > 0)        {          setControls(newx, newy, con);        }      }    }    void Form1_Resize(object sender, EventArgs e)    {      float newx = (this.Width) / X;      float newy = this.Height / Y;      setControls(newx, newy, this);      this.Text = this.Width.ToString()  " "  this.Height.ToString();      //窗体最大化时 会全屏 及遮盖任务栏      if (this.WindowState == FormWindowState.Maximized)      {           this.FormBorderStyle = FormBorderStyle.None;        this.WindowState = FormWindowState.Maximized;      }    }    //注意,不要只copy KeyPress过程进去你的代码,要关联上事件    private void Form1_KeyPress(object sender, KeyPressEventArgs e)    {      if (e.KeyChar == (char)Keys.Escape)      {        this.WindowState = FormWindowState.Normal;        this.FormBorderStyle = FormBorderStyle.FixedDialog;      }    }  }}

 
  
					
				
评论