程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#完成修正體系時光的辦法

C#完成修正體系時光的辦法

編輯:C#入門知識

C#完成修正體系時光的辦法。本站提示廣大學習愛好者:(C#完成修正體系時光的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成修正體系時光的辦法正文


本文所述C#獲得和修正體系時光的完成步調為:體系的時光從 SystemTime 構造體中掏出,並顯示在textBox1上,從setDate,setTime控件中獲得年,月,日,小時,分鐘,秒信息,存入SystemTime構造體中,然後應用SetLocalTime(ref systemTime)設置為用戶指定的時光。本代碼編譯後會有一個易於操作的窗體。

完全功效代碼以下:

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Runtime.InteropServices;
namespace changesystime
{
 /// <summary>
 /// Form1 的摘要解釋。
 /// </summary>
 public class Form1 : System.Windows.Forms.Form
 {
 private System.Windows.Forms.GroupBox groupBox1;
 private System.Windows.Forms.TextBox textBox1;
 private System.Windows.Forms.GroupBox groupBox2;
 private System.Windows.Forms.Button button1;
 private System.Windows.Forms.Button button2;
 private System.Timers.Timer timer1;
 private System.Windows.Forms.DateTimePicker setDate;
 private System.Windows.Forms.DateTimePicker setTime;
 private System.ComponentModel.IContainer components;
 [StructLayout(LayoutKind.Sequential)]
 public struct SystemTime
 {
  public ushort wYear;
  public ushort wMonth;
  public ushort wDayOfWeek;
  public ushort wDay;
  public ushort wHour;
  public ushort wMinute;
  public ushort wSecond;
  public ushort wMiliseconds;
 }
 
 // 用於設置體系時光
 [DllImport("Kernel32.dll")]
 public static extern bool SetLocalTime( ref SystemTime sysTime );
 // 用於取得體系時光
 [DllImport("Kernel32.dll")]
 public static extern void GetLocalTime(ref SystemTime sysTime);
 public Form1()
 {
  //
  // Windows 窗體設計器支撐所必須的
  //
  InitializeComponent();

  //
  // TODO: 在 InitializeComponent 挪用後添加任何結構函數代碼
  //
 }

 /// <summary>
 /// 清算一切正在應用的資本。
 /// </summary>
 protected override void Dispose( bool disposing )
 {
  if( disposing )
  {
  if (components != null) 
  {
   components.Dispose();
  }
  }
  base.Dispose( disposing );
 }

 #region Windows 窗體設計器生成的代碼
 /// <summary>
 /// 設計器支撐所需的辦法 - 不要應用代碼編纂器修正
 /// 此辦法的內容。
 /// </summary>
 private void InitializeComponent()
 {
  this.groupBox1 = new System.Windows.Forms.GroupBox();
  this.textBox1 = new System.Windows.Forms.TextBox();
  this.groupBox2 = new System.Windows.Forms.GroupBox();
  this.setTime = new System.Windows.Forms.DateTimePicker();
  this.setDate = new System.Windows.Forms.DateTimePicker();
  this.button1 = new System.Windows.Forms.Button();
  this.button2 = new System.Windows.Forms.Button();
  this.timer1 = new System.Timers.Timer();
  this.groupBox1.SuspendLayout();
  this.groupBox2.SuspendLayout();
  ((System.ComponentModel.ISupportInitialize)(this.timer1)).BeginInit();
  this.SuspendLayout();
  // 
  // groupBox1
  // 
  this.groupBox1.Controls.Add(this.textBox1);
  this.groupBox1.Location = new System.Drawing.Point(32, 24);
  this.groupBox1.Name = "groupBox1";
  this.groupBox1.Size = new System.Drawing.Size(216, 64);
  this.groupBox1.TabIndex = 0;
  this.groupBox1.TabStop = false;
  this.groupBox1.Text = "體系以後時光";
  // 
  // textBox1
  // 
  this.textBox1.Location = new System.Drawing.Point(16, 24);
  this.textBox1.Name = "textBox1";
  this.textBox1.ReadOnly = true;
  this.textBox1.Size = new System.Drawing.Size(184, 21);
  this.textBox1.TabIndex = 1;
  this.textBox1.Text = "";
  // 
  // groupBox2
  // 
  this.groupBox2.Controls.Add(this.setTime);
  this.groupBox2.Controls.Add(this.setDate);
  this.groupBox2.Location = new System.Drawing.Point(32, 112);
  this.groupBox2.Name = "groupBox2";
  this.groupBox2.Size = new System.Drawing.Size(216, 64);
  this.groupBox2.TabIndex = 1;
  this.groupBox2.TabStop = false;
  this.groupBox2.Text = "時光設置為";
  // 
  // setTime
  // 
  this.setTime.Format = System.Windows.Forms.DateTimePickerFormat.Time;
  this.setTime.Location = new System.Drawing.Point(128, 24);
  this.setTime.Name = "setTime";
  this.setTime.ShowUpDown = true;
  this.setTime.Size = new System.Drawing.Size(72, 21);
  this.setTime.TabIndex = 1;
  this.setTime.TabStop = false;
  // 
  // setDate
  // 
  this.setDate.Format = System.Windows.Forms.DateTimePickerFormat.Short;
  this.setDate.Location = new System.Drawing.Point(8, 24);
  this.setDate.Name = "setDate";
  this.setDate.Size = new System.Drawing.Size(104, 21);
  this.setDate.TabIndex = 0;
  // 
  // button1
  // 
  this.button1.Location = new System.Drawing.Point(40, 200);
  this.button1.Name = "button1";
  this.button1.Size = new System.Drawing.Size(64, 32);
  this.button1.TabIndex = 2;
  this.button1.Text = "設置";
  this.button1.Click += new System.EventHandler(this.button1_Click);
  // 
  // button2
  // 
  this.button2.Location = new System.Drawing.Point(168, 200);
  this.button2.Name = "button2";
  this.button2.Size = new System.Drawing.Size(64, 32);
  this.button2.TabIndex = 3;
  this.button2.Text = "加入";
  this.button2.Click += new System.EventHandler(this.button2_Click);
  // 
  // timer1
  // 
  this.timer1.Enabled = true;
  this.timer1.SynchronizingObject = this;
  this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_Elapsed);
  // 
  // Form1
  // 
  this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  this.ClientSize = new System.Drawing.Size(280, 261);
  this.Controls.Add(this.button2);
  this.Controls.Add(this.button1);
  this.Controls.Add(this.groupBox2);
  this.Controls.Add(this.groupBox1);
  this.Name = "Form1";
  this.Text = "獲得和設置體系時光";
  this.groupBox1.ResumeLayout(false);
  this.groupBox2.ResumeLayout(false);
  ((System.ComponentModel.ISupportInitialize)(this.timer1)).EndInit();
  this.ResumeLayout(false);

 }
 #endregion
 /// <summary>
 /// 運用法式的主進口點。
 /// </summary>
 [STAThread]
 static void Main() 
 {
  Application.Run(new Form1());
 }

 private void button2_Click(object sender, System.EventArgs e)
 {
  this.Close(); // 封閉以後窗體
 }

 private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
 {
  // 消除textBox1上的字符串
  textBox1.Clear();
  // 創立SystemTime構造體,用於吸收體系以後時光
  SystemTime systemTime = new SystemTime();
  GetLocalTime(ref systemTime); // 取得體系的時光並存在SystemTime構造體中
  // 將體系的時光從 SystemTime 構造體中中掏出,並顯示在textBox1上
  textBox1.Text += systemTime.wYear.ToString() +"-";
  textBox1.Text += systemTime.wMonth.ToString() + "-";
  textBox1.Text += systemTime.wDay.ToString() + " ";
  textBox1.Text += systemTime.wHour.ToString() + ":";
  textBox1.Text += systemTime.wMinute.ToString() + ":";
  textBox1.Text += systemTime.wSecond.ToString();
 // textBox1.Refresh(); 
 }
 private void button1_Click(object sender, System.EventArgs e)
 {
  // 創立SystemTime構造體,用於吸收用戶設置的時光
  SystemTime systemTime = new SystemTime();
  // 從setDate,setTime控件中獲得年,月,日,小時,分鐘,秒信息,存入SystemTime構造體中
      systemTime.wYear = (ushort)setDate.Value.Year;
  systemTime.wMonth = (ushort)setDate.Value.Month;
  systemTime.wDay = (ushort)setDate.Value.Day;
  systemTime.wHour = (ushort)setTime.Value.Hour;
  systemTime.wMinute = (ushort)setTime.Value.Minute;
  systemTime.wSecond = (ushort)setTime.Value.Second;
  // 將體系的時光設置為用戶指定的時光
  SetLocalTime(ref systemTime);
 }
 }
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved