欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實現(xiàn)修改系統(tǒng)時間的方法

 更新時間:2014年07月26日 16:07:46   投稿:shichen2014  
這篇文章主要介紹了C#實現(xiàn)修改系統(tǒng)時間的方法,是一個非常實用的功能,需要的朋友可以參考下

本文所述C#獲取和修改系統(tǒng)時間的實現(xiàn)步驟為:系統(tǒng)的時間從 SystemTime 結(jié)構(gòu)體中取出,并顯示在textBox1上,從setDate,setTime控件中獲取年,月,日,小時,分鐘,秒信息,存入SystemTime結(jié)構(gòu)體中,然后使用SetLocalTime(ref systemTime)設(shè)置為用戶指定的時間。本代碼編譯后會有一個易于操作的窗體。

完整功能代碼如下:

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;
 }
 
 // 用于設(shè)置系統(tǒng)時間
 [DllImport("Kernel32.dll")]
 public static extern bool SetLocalTime( ref SystemTime sysTime );
 // 用于獲得系統(tǒng)時間
 [DllImport("Kernel32.dll")]
 public static extern void GetLocalTime(ref SystemTime sysTime);
 public Form1()
 {
  //
  // Windows 窗體設(shè)計器支持所必需的
  //
  InitializeComponent();

  //
  // TODO: 在 InitializeComponent 調(diào)用后添加任何構(gòu)造函數(shù)代碼
  //
 }

 /// <summary>
 /// 清理所有正在使用的資源。
 /// </summary>
 protected override void Dispose( bool disposing )
 {
  if( disposing )
  {
  if (components != null) 
  {
   components.Dispose();
  }
  }
  base.Dispose( disposing );
 }

 #region Windows 窗體設(shè)計器生成的代碼
 /// <summary>
 /// 設(shè)計器支持所需的方法 - 不要使用代碼編輯器修改
 /// 此方法的內(nèi)容。
 /// </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 = "系統(tǒng)當(dāng)前時間";
  // 
  // 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 = "時間設(shè)置為";
  // 
  // 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 = "設(shè)置";
  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 = "獲取和設(shè)置系統(tǒng)時間";
  this.groupBox1.ResumeLayout(false);
  this.groupBox2.ResumeLayout(false);
  ((System.ComponentModel.ISupportInitialize)(this.timer1)).EndInit();
  this.ResumeLayout(false);

 }
 #endregion
 /// <summary>
 /// 應(yīng)用程序的主入口點。
 /// </summary>
 [STAThread]
 static void Main() 
 {
  Application.Run(new Form1());
 }

 private void button2_Click(object sender, System.EventArgs e)
 {
  this.Close(); // 關(guān)閉當(dāng)前窗體
 }

 private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
 {
  // 清除textBox1上的字符串
  textBox1.Clear();
  // 創(chuàng)建SystemTime結(jié)構(gòu)體,用于接收系統(tǒng)當(dāng)前時間
  SystemTime systemTime = new SystemTime();
  GetLocalTime(ref systemTime); // 獲得系統(tǒng)的時間并存在SystemTime結(jié)構(gòu)體中
  // 將系統(tǒng)的時間從 SystemTime 結(jié)構(gòu)體中中取出,并顯示在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)
 {
  // 創(chuàng)建SystemTime結(jié)構(gòu)體,用于接收用戶設(shè)置的時間
  SystemTime systemTime = new SystemTime();
  // 從setDate,setTime控件中獲取年,月,日,小時,分鐘,秒信息,存入SystemTime結(jié)構(gòu)體中
      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;
  // 將系統(tǒng)的時間設(shè)置為用戶指定的時間
  SetLocalTime(ref systemTime);
 }
 }
}

相關(guān)文章

  • c# 組合模式

    c# 組合模式

    組合模式:將對象組合成樹形結(jié)構(gòu)以表示‘部分-整體’的層次結(jié)構(gòu)。組合模式使得用戶對單個對象和組合對象的使用具有一致性。需求中式體現(xiàn)部分與整體層次的結(jié)構(gòu)時,統(tǒng)一地使用組合對象中的所有對象時,應(yīng)該考慮使用組合模式
    2012-10-10
  • C#使用開源驅(qū)動連接操作MySQL數(shù)據(jù)庫

    C#使用開源驅(qū)動連接操作MySQL數(shù)據(jù)庫

    這篇文章主要介紹了C#使用開源驅(qū)動連接操作MySQL數(shù)據(jù)庫,本文講解使用SourceForge上的mysqldrivercs驅(qū)動連接操作MySQL數(shù)據(jù)庫,需要的朋友可以參考下
    2015-02-02
  • C#如何操作Excel數(shù)據(jù)透視表

    C#如何操作Excel數(shù)據(jù)透視表

    這篇文章主要為大家詳細(xì)介紹了C#如何操作Excel數(shù)據(jù)透視表, 創(chuàng)建透視表、設(shè)置行折疊、展開等操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 使用代理模式來進行C#設(shè)計模式開發(fā)的基礎(chǔ)教程

    使用代理模式來進行C#設(shè)計模式開發(fā)的基礎(chǔ)教程

    這篇文章主要介紹了使用代理模式來進行C#設(shè)計模式開發(fā)的基礎(chǔ)教程,代理模式主張在客戶端和目標(biāo)對象中間建立中介來降低程序設(shè)計的耦合度,需要的朋友可以參考下
    2016-02-02
  • C#中委托用法實例詳解

    C#中委托用法實例詳解

    這篇文章主要介紹了C#中委托用法,以實例形式較為詳細(xì)的分析了C#中委托的概念與使用技巧,需要的朋友可以參考下
    2015-06-06
  • 算法證明每一位都相同十進制數(shù)不是完全平方數(shù)

    算法證明每一位都相同十進制數(shù)不是完全平方數(shù)

    這篇文章主要為大家介紹了算法證明每一位都相同十進制數(shù)不是完全平方數(shù)的過程論述,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • C#語言MVC框架Aspose.Cells控件導(dǎo)出Excel表數(shù)據(jù)

    C#語言MVC框架Aspose.Cells控件導(dǎo)出Excel表數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了C#語言MVC框架Aspose.Cells控件導(dǎo)出Excel表數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • C#并行編程Task類用法介紹

    C#并行編程Task類用法介紹

    這篇文章介紹了C#并行編程Task類的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C#實現(xiàn)Zip壓縮目錄中所有文件的方法

    C#實現(xiàn)Zip壓縮目錄中所有文件的方法

    這篇文章主要介紹了C#實現(xiàn)Zip壓縮目錄中所有文件的方法,涉及C#針對文件的讀寫與zip壓縮相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • WPF模擬實現(xiàn)Gitee泡泡菜單的示例代碼

    WPF模擬實現(xiàn)Gitee泡泡菜單的示例代碼

    這篇文章主要介紹了如何利用WPF模擬實現(xiàn)Gitee泡泡菜單,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下
    2022-08-08

最新評論