C#中實現關機程式

本程式用到的控制項只有三個按鈕,分別為:重啟,關機,退出。 開啟右邊的“方案總管”--展開樹結構--引用--添加引用---在彈出的對話方塊中找到System.Management---雙擊添加它---確定,即建成對System.Management.dll的引用。然後在程式的開頭再寫入 using System.Management; using System.Runtime.InteropServices; //加入此名字間是為了引用Windows API來實現關機 程式如下: -------

一個C#線程間通訊的小例子

先看以下代碼: using System;using System.Text;using System.Windows.Forms;using System.Threading; namespace 線程間通訊{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }       

C#編寫Windows服務的基本過程)

 編寫Windows服務是一種比較進階的編程技術,內部使用了很多Windows作業系統的核心功能,但微軟.NET架構已經很好的封裝了這些技術細節,使得我們可以很方便的使用C#編寫自己的Windows服務,其基本過程一般為1.       建立C#工程。建立一個EXE工程,可以是WinForm或者命令列格式的。添加對System.ServiceProcess.dll和System.Configuration.Install.dll的引用。2.      

C#中用滑鼠移動頁面功能的實現

項目中需要實現以下功能:預覽列印控制項中,可以用滑鼠拖動頁面,以查看超出顯示範圍之外的部分內容。該功能本來可以通過拉動水平和垂直捲軸來實現,但實際使用中,使用者更趨向於直接用滑鼠拖動頁面來實現,很多看圖類軟體都有這種類似的功能。而.net的預覽列印控制項卻很遺憾的沒有提供這一功能,只來自己想辦法來實現啦。呵呵,不過辦法總是有的。我的辦法就是用代碼來控制預覽列印控制項中的水平來垂直捲軸的位置,間接實現和用滑鼠直接拖動捲軸一樣的效果。在實現這一功能的過程中,最大的困難是預覽列印控制項並沒有讓程式員直

C#中對象的序列化與還原序列化

C#中對象的序列化與還原序列化,是一項很常用的技術,對於對象的儲存,傳輸等十分有用。這裡有兩個很實用的序列化與還原序列化的方法,是我從網友裡的得到的,介紹給大家。以下是要用到兩個方法:         ///  <summary>          ///  序列化為二進位位元組數組          ///  </summary>          ///  <param  name="request">要序列化的對象 </param>     

C#中路徑的幾種擷取方法及其區別

string str1 =Process.GetCurrentProcess().MainModule.FileName;//獲得當前執行的exe的檔案名稱。string str2=Environment.CurrentDirectory;//擷取和設定目前的目錄的完全限定路徑。string str3=Directory.GetCurrentDirectory();//擷取應用程式的當前工作目錄。string str4=AppDomain.CurrentDomain.BaseDirectory;

國人必看《C形包圍》(強薦)

《C形包圍》作者戴旭.如果你還沒有看過,那麼,我,作為一個中國人,作為一個關於祖國未來命運和前途的中國人,強烈推薦大家下載並閱讀這本書.你一定會為戴旭的觀點和演講所震撼的.

C#中完美複製參考型別的對象

我們都知道,在C#中,對於複雜物件,每聲明一個牸類型的變數a,並用個該類型的對象A給這個變數賦值的時候,其實是讓這個變數a指向了對象A,在記憶體中並沒有多產生一個對象A的執行個體.所以不管我們聲明多少個等於A的變數,其實際上永遠都只有一個A存在於記憶體中.這就是我們常說的參考型別的特性.參考型別的這一特性的好處是不言無喻的,然而,它也給我們帶了一小點不便,那就是有時候,偶爾我們需要在記憶體中有兩個所有屬性值都一模一樣的對象A和B,這樣便於對B做操作而不影響到A.有人說那New兩次不就有兩個一模一

C#中的DllImport詳解)

大家在實際工作學習C#的時候,可能會問:為什麼我們要為一些已經存在的功能(比如Windows中的一些功能,C++中已經編寫好的一些方法)要重新編寫代碼,C#有沒有方法可以直接都用這些原本已經存在的功能呢?答案是肯定的,大家可以通過C#中的DllImport直接調用這些功能。DllImport所在的名字空間 using

C#中實現任意類的完美複製

簡介 雖然在現實世界中的複製課題是有爭議的, 在.NET世界使用它卻足夠安全, 難道不是嗎? 為實現一個類你究竟有多少次要實現ICloneable介面, 而且每一次都寫相同的代碼,或為每個類寫特定的代碼。而且,當你的類加入一個新的欄位時,往往會忘記更新這個新欄位的複製方法。如果我沒說錯的話,這種時候往往會帶來惱人的bugs。這是我的類得以存在的原因。 藉由反射機制的小小協助,我建立了一個用預設行為實現了ICloneable介面的抽象類別。現在或許你正在問自己: 什麼是預設行為?

C#中隱式操作CMD命令列視窗

MS的CMD命令列是一種重要的操作介面,一些在C#中不那麼方便完成的功能,在CMD中幾個簡單的命令或許就可以輕鬆搞定,如果能在C#中能完成CMD視窗的功能,那一定可以使我們的程式簡便不少。下面介紹一種常用的在C#程式中調用CMD.exe程式,並且不顯示命令列視窗介面,來完成CMD中各種功能的簡單方法。如下所示:System.Diagnosties.Process p=new System.Diagnosties.Process();p.StartInfo.FileName="cmd.exe";/

C#物件導向設計模式第七講:Adapter Pattern 適配器模式(結構型模式)

根據MSDN Webcast相關課程整理)適配:在不改變原有實現的基本上,將原先不相容的介面轉換成相容的介面。 GoF:將一個類的介面轉換成客戶需要的另一個介面,便得原來由於介面不相容而不能一起工作的那些類可以一起工作。 對象適配器: 將現有類作為適配器的一個欄位,並繼承客戶程式希望的介面類。 Adapter才是我們需要建立並實現的類。 以下樣本展示如何利用現有對象ArrayList來實現客戶程式需要的Stack形式的介面功能: 建立適配器: 類適配器:(不推薦)

C#物件導向設計模式第八講:Bridge 橋接模式(結構型模式)

根據MSDN Webcast相關課程整理)GoF:將抽象部分與實現部分分離,使它們都可以獨立地變化。 如所示: 顯然,當實現細節b易變時,我們通常考慮採用原型模式來構造系統。然而,當抽象B由於某種原因也容易變動時,即易變對象從兩個維度或更多方向上發生改變,我們就應該考慮橋接模式啦。

Android使用ksoap2調用C#webservice

1,在AdroidManifest.xml中加入許可權   <uses-permission android:name="android.permission.INTERNET"/>2,匯入ksoap2包3,private String NameSpace="命名空間";   private String Url="---.asmx";//WebService發布地址   private String MethodName="方法名";   private String

C#實現網卡IP地址自由切換

需求:筆記本經常要在不同的地點串連網路,而各地的網路IP配置各不相同,這就導致不時的更改網卡的IP地址設定。Windows上更改IP設定很不方便,於是希望能夠開發一款能夠適用於不同網路,不同網卡的快速IP地址切換程式。分析:關鍵在於如何?對網路介面卡的配置。其實,MS為我們提供了System.Management

C#物件導向設計模式第一講:物件導向設計模式與原則

(根據MSDN Webcast相關課程整理)模式:提供重複發生的問題的解決方案的核心。 設計模式:軟體設計過程中某一類問題的一般性解決方案。 物件導向設計模式:物件導向設計過程中、特定情境下,類與相互連信的之間的常見的組織關係。 GOF 23種設計模式 好的設計:可以滿足應對變化提高複用的設計。 原始碼就是設計,軟體設計最大的特點就是需求永遠在變化。 理想化的軟體開發模式:軟體開發=系統設計(設計師)+代碼編寫(程式員) 設計模式不是演算法技巧,不能照搬照用,只能活學活用,必須理解。

C#物件導向設計模式第二講:Singleton Pattern單件模式(建立型模式)

(根據MSDN Webcast相關課程整理)模式分類: 從目的來看: 建立型(Creational):負責對象的建立 結構型(Structural):處理類與對象間的組合 行為型(Behavioral):類與對象互動中的職責分配 從範圍來看: 類模式:處理類與子類的靜態關係 對象模式:處理對象間的動態關係 單件模式下的類,保證該類在系統中只有一個執行個體,以確保邏輯的正確性與效率。

C#物件導向設計模式第三講:Abstract Factory Pattern 抽象原廠模式(建立型模式)

(根據MSDN Webcast相關課程整理) new的問題:實現依賴,不能應對具體執行個體化類型的變化。(當執行個體對象發生變化時,無法滿足需求) 例: 當Road發生容易發生變化時,如有可能變成MudRoad時,需要修改系統中所有new 到Road的地方。 解決思路: 封閉變化點——哪兒變化封閉哪兒;如果new的類型比較穩定,基本沒有變化時,就不需要封裝啦。 建立的對象容易發生變化,因此就要封裝對象建立的過程。 面向介面編程:依賴介面,而不是依賴實現

C#物件導向設計模式第四講:Builder Pattern產生器模式(建立型模式)

(根據MSDN Webcast相關課程整理) 產生器模式的緣起: 一個類中主結構(將各個成員組合在一起的構建方法)基本穩定,但內部的幾個組成部分可能經常存在變化。 GOF:將一個複雜物件的構建與其表示相分開,使得同樣的構建過程可以建立不同的表示。 構成主類的某引動部分成員PartA和B是常變化的,而建立器的演算法方式不變,客戶程式通過Director的Construct方法,傳入不同的產生器,從而完成不同類型對象的建立。

C#物件導向設計模式第六講:Prototype 原型模式(建立型模式)

(根據MSDN Webcast相關課程整理)依賴關係倒置原則: 抽象不應該依賴於實現細節,實現細節應該依賴於抽象。實現細節往往易變。 抽象A直接依賴於實現細節b: 抽象A依賴於抽象B,實現細節b依賴於抽象B: 原型設計模式:經常面臨某些結構複雜物件的構建工作,由於需求的變化,這些對象也面臨劇烈變化。我們需要隔離這些易變對象,從而使得對象的變化時而不影響客戶程式對這些對象的調用。 GoF:使用原型執行個體來批來建立對象的種類,通過拷貝這些原型來建立新的對象。

總頁數: 4314 1 .... 532 533 534 535 536 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.