Time of Update: 2018-12-05
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;using System.Diagnostics;using System.Xml;namespace 讀寫xml測試{ public
Time of Update: 2018-12-05
1http://www.l78zw.com/read.php/58.htm C#中的公用勾子類 2http://www.diybl.com/course/4_webprogram/asp.net/netjs/2008515/116961.html 利用勾子監視系統或進程中的各種事件訊息,截獲發往目標視窗的訊息並進行處理3http://blog.csdn.net/jackiechen01/archive/2007/08/11/1738010.aspx 兩分鐘用C#搭建IE BHO勾子,
Time of Update: 2018-12-05
編程訪問檔案是通過檔案流對象進行的,當應用程式需要訪問檔案時,必須先建立一個檔案流對象,此流對象和檔案是一一對應關係。在.NET中,使用抽象基類System.IO.Stream代表流,它提供Read和Write兩個方法。由於資料流的有序性,因此流對象還有一個讀寫指標,為此,Stream類還有一個Seek方法用於移動讀寫指標。FileStream對象的資料來自檔案,而MemoryStream對象的資料來自記憶體緩衝區。這兩個類都繼承自Stream類。1.MemoryStreamMemoryStre
Time of Update: 2018-12-05
最近寫了個軟體叫WebAutoScript,目的用於,網頁的自動操作處理,就是說,所有你在網頁上面的操作,都可以錄到一個指令碼中,然後可以回放這個操作過程。。我是說任何過程。程式是用C#寫的,其中遇到了一個難題,對於網頁,我是用C#內建的WebBrowser控制項控制,但是這個控制項有個問題,就是不能準確判斷網頁什麼時候最終裝載完畢,如果這個不能判斷的話,我根本不可以判斷什麼時候執行下一個動作,因為網頁還沒有開啟,不可能去點擊還沒有出現的按鈕等。。。google了海內外,竟然沒有人搞定過,除非不
Time of Update: 2018-12-05
樹形結構如果不是從資料庫中取資料填充,也不想使用“TreeNode”編輯器,可以使用如下代碼,有多少層級都可以,代碼如下:TreeNode RootNode = new TreeNode(); TreeNode SonNode1 = new TreeNode("兒子1"); TreeNode SonNode2 = new TreeNode("兒子2"); RootNode.Text = "報表統計";
Time of Update: 2018-12-05
1.1 變數的聲明 C#中變數的聲明我們以執行個體來說明,例如,int i; 該句聲明了一個 int (整型) 變數 i 。再如,string str; 這句聲明了一個string(字串類型)的 變數 str 。 1.2 變數初始化 C#編譯器需要每個變數在有了初始值之後才能使用該變數。 在C#變數初始化時有兩點需要注意, A 、變數是類或者結構中的欄位,如果沒有顯式的初始化,在預設狀態下,建立這些變數時,其初始值就是0;例如下面的代碼:using
Time of Update: 2018-12-05
using System;using System.Net.Mail;using System.IO;/// <summary>/// Utilities 的摘要說明/// </summary>public static class Utilities{static Utilities(){ // // TODO: 在此處添加建構函式邏輯 //} //讀取指定URL地址的HTML,用來以後發送網頁用 public static string
Time of Update: 2018-12-05
該執行個體功能為“多線程式控制制UI控制項”,線程函數實現自動加1。介面如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Threading;namespace treadTest{ //
Time of Update: 2018-12-05
示範了imageList 和 listView的大表徵圖模式,關鍵代碼見下面: p rivate void button1_Click(object sender, EventArgs e) { imageList1.ColorDepth = ColorDepth.Depth24Bit; imageList1.ImageSize = new Size(120, 120); for (int i = 0; i <
Time of Update: 2018-12-05
事件與委託似乎很難以理解,這是因為它們的使用方式與常用的編碼有很大的差別,例如通常編寫的都是同步代碼,調用一個類型的方法,會即刻出現方法執行的結果,這是符合邏輯的。但在某些情況中,同步代碼未必滿足需求,拿公用汽車來打個比方,如果交通管制中心希望每一輛公車到達一個網站時都發送給自己一個訊號以便自己能夠隨時掌握交通狀況,使用同步代碼,公汽對象肯定需要調用管制中心對象,這樣就出現了我們一直不願意看到的情況:兩個類型緊密地耦合在一起。既然要其它類型對自己的行為作出反應,親自調用其類型的方法似乎不可避免,
Time of Update: 2018-12-05
具體的用C#建立方式網上一堆,主要是建立備忘欄位的時候遇到的問題。用ADOX建立的,在工程裡添加引用dll就不說了,錯誤的步驟如下(就少了一步):------------------------------------------------------------------- //建立庫 ADOX.CatalogClass catLog = new ADOX.CatalogClass();
Time of Update: 2018-12-05
事件(event)是個非常重要的概念,我們的程式時刻都在觸發和接收著各種事件:滑鼠點擊事件,鍵盤事件,及處理作業系統的各種事件。所謂事件就是由某個對象發出的訊息。比如使用者按下了某個按鈕,某個檔案發生了改動,socket上有資料到達。觸發事件的對象稱作寄件者(sender),捕捉事件並且做出響應的對象稱作接收者(receiver),一個事件能存在多個接受者。
Time of Update: 2018-12-05
下面的例子說明一下類的成員的存取修飾詞的用法 using System;class Vehicle//定義汽車類{public int wheels; //公有成員輪子個數protected float weight; //保護成員重量public void F(){wheels = 4;//正確允許訪問自身成員weight = 10; //正確允許訪問自身成員}};class train //定義火車類{public int num; //公有成員車廂數目p rivate int
Time of Update: 2018-12-05
LINQ技術:解決降低訪問和整合資訊資料的複雜度的問題,即集合訪問技術LINQ,語言級整合查詢(Language INtegrated Query)C#3.0 LINQ 查詢文法首先來看一個很簡單的LINQ查詢例子,查詢一個int 數組中小於5的數字,並按照大小順序排列:class Program { static void Main(string[] args) { int[] arr = new int[] { 8, 5, 89, 3, 56, 4, 1, 58 }; var m
Time of Update: 2018-12-05
判斷是否網路正常 p rivate bool IsConnectedToInternet() { int Desc; return internet.InternetGetConnectedState(out Desc, 0); } 設定預設頁面:webBrowser1.Navigate(new Uri("http://www.ic2ic.com/copy.jsp"));登入代碼: p
Time of Update: 2018-12-05
在我們的程式中,經常會有一些耗時較長的運算,為了保證使用者體驗,不引起介面不響應,我們一般會採用多線程操作,讓耗時操作在後台完成,完成後再進行處理或給出提示,在運行中,也會時時去重新整理介面上的進度條等顯示元,必要進,還要控制後台線程中斷當前操作。以前,類似的應用會比較麻煩,需要寫的代碼較多,也很容易出現異常。在 .net中,提供了一個組件
Time of Update: 2018-12-05
這節我們按照線程池的核心思想來自訂一個簡單的線程池:1) 池中使用的線程不少於一定數量,不多於一定數量2) 池中線程不夠的時候建立,富裕的時候收回3) 任務排隊,沒有可用線程時,任務等待我們的目的只是實現這些“需求”,不去考慮效能(比如等待一段時間再去建立新的線程等策略)以及特殊的處理(異常),在實現這個需求的過程中我們也回顧了線程以及線程同步的基本概念。首先,把任務委託和任務需要的狀態資料封裝一個對象:public class WorkItem{ public WaitCallback
Time of Update: 2018-12-05
以前滿世界問過這個問題,沒有人理偶的說,還是自己動手搞定比較好。一般來說,一個COM對象在提供的時候,通常還會提供一個類型庫,在其中定義了COM對象的所有方法名稱、參數名稱、屬性名稱等等資訊。我們要做的就是從類型庫中取出這些資訊。當然,某些只供C++程式員使用的COM對象沒有類型庫,而代之以C++的標頭檔和/或idl檔案,對這種情況,一般沒有辦法在程式中枚舉出對象的方法屬性:畢竟去找C++標頭檔不太現實,何況在非開發環境下,根本就沒有標頭檔的說。因此,我們將討論當COM對象存在TypeLib的情
Time of Update: 2018-12-05
原始碼如下: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;using System.Net;using System.Threading;using
Time of Update: 2018-12-05
50條忠告:(其中有幾條覺得寫的不夠貼切,所以刪了,發了餘下的部分)1.把C++當成一門新的語言學習; 2.看《Thinking In C++》,不要看《C++變成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因為他們很難而我們自己是初學者所以就不看; 4.不要被VC、BCB、BC、MC、TC等詞彙所迷惑——他們都是整合式開發環境,而我們要學的是一門語言;