Time of Update: 2018-12-05
通過如下代碼在剪貼簿中擷取含HTML格式的文本時發現當內容出現漢字的時候會有亂碼 if (Clipboard.ContainsText(TextDataFormat.Html)) textBox1.Text = Clipboard.GetText(TextDataFormat.Html);通過剪貼簿工具分析,HTML格式的文本是UTF8編碼方式看來Clipboard.GetText()是解碼出了問題那就自己來完成這個解碼工作吧!if
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
樹形結構如果不是從資料庫中取資料填充,也不想使用“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
LINQ,即Language Integrated Query。很多人熟悉SQL語言,用它來操作資料庫非常方便。現在在C#3.0中也可以使用相同的文法來操作各種資料,包括數組,檔案,資料庫等。由於LINQ的東西比較多,準備分三次講,第一次主要介紹一下LINQ,第二次主要介紹用LINQ操作資料庫,第三次主要介紹用LINQ操作XML,第四次主要介紹LINQ的一些函數應用。有時間在寫一些關於LINQ的專題。下面看一個例子,程式員就應該拿代碼說話: class Program ...{
Time of Update: 2018-12-05
使用FileStream讀寫檔案 檔案頭: using System;using System.Collections.Generic;using System.Text;using System.IO; 讀檔案核心代碼: byte[] byData = new byte[100];char[] charData = new char[1000];try{FileStream sFile = new FileStream("檔案路徑",FileMode.Open);sFile.Seek(55,
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
正在研究一個程式,輸入一個關鍵字,能夠把這個關鍵字發送到Google,yahoo等搜尋引擎,進行搜尋,然後開啟結果網頁。原理很簡單。比如在Google搜尋China,搜尋結果頁面的URL就是“http://www.google.com/search?hl=zh-CN&q=China&lr=”。只要替換紅顏色的內容,就可以按照不同的關鍵字搜尋。但是如果關鍵字是中文,就會出現問題。比如在google搜尋“中國”,Url是“http://www.google.com/search?hl
Time of Update: 2018-12-05
進行webBrower開發的時候,肯定都會遇到一個問題。那就是怎麼樣強制在本視窗開啟新視窗的問題。網上最常見的解決方案就是,在NewWindow事件中取得要開啟的網址,取消開啟新視窗,然後在本視窗開啟要轉向的網址p rivate void webBrowser_1_NewWindow(object sender, CancelEventArgs e) { WebBrowser webBrowser_temp =
Time of Update: 2018-12-05
方法一: 如果要載入的圖片的長寬比不是太過失衡,可以改變picturebox的SizeMode屬性為 PictureBoxSizeMode.StretchImage。這樣載入到picturebox的圖片會充滿整個picturebox。但是 當圖片長寬比比較大時,這個方法顯得不是太好了。可以選擇方法二。方法二:可參考;http://www.cnblogs.com/fengzanfeng/articles/1339107.html OpenFileDialog
Time of Update: 2018-12-05
具體的用C#建立方式網上一堆,主要是建立備忘欄位的時候遇到的問題。用ADOX建立的,在工程裡添加引用dll就不說了,錯誤的步驟如下(就少了一步):------------------------------------------------------------------- //建立庫 ADOX.CatalogClass catLog = new ADOX.CatalogClass();
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
網路上的讀寫OLE對象的代碼是多,不過多是轉載的,大部分人從來都沒實際測試過,只是COPY來COPY去。我重來沒看到一個真正可以啟動並執行東東。沒辦法,只有自力更生,花了一點時間出了點研究成果,寫到這裡做個記錄。關鍵代碼如下:******* void button1_Click(object sender, EventArgs e) //寫入圖片 { OpenFileDialog dlg = new OpenFileDialog();
Time of Update: 2018-12-05
首先在C#裡添加一個表單,命名為MdiMain,將其IsMdiContainer設定成true,這樣MDI主表單就建立了。然後再添加新表單,命名為MdiChild。現在運行程式,會發現只運行了MdiMain這個主表單。呵呵因為我們沒有寫任何代碼,第二個表單當然不能出現了。現在來添加這個代碼。在MdiMain表單上添加一個Menu,然後隨便寫個子功能表。雙擊子功能表,會出現它的Click事件,在這個事件內寫如下代碼:MdiChild frmMdiChild=new
Time of Update: 2018-12-05
使用WebClient來擷取源碼,很容易就能得到網頁源碼。但是,發現,不同網站的網頁字元編碼就不一樣的,如何自動分別不同網站的字元編碼,而正確解釋網頁中的漢字呢。在C#裡,提供了豐富的工具類庫,可以輕鬆的轉碼。但是,卻發現不能自動擷取網站上的字元編碼而自動正確的解釋源碼,而導致漢字顯示亂碼。以前我也用JAVA做過這樣的功能,擷取網站源碼,同樣,在JAVA的各種擷取網站源碼的類庫裡,也不能自動根據網頁字元編碼自動正確解釋編碼,只能我們自己手動來做了。我的解決辦法是先採用系統預設的編碼從stream
Time of Update: 2018-12-05
很多人都苦惱於如何在子表單中操作主表單上的控制項,或者在主表單中操作子表單上的控制項。相比較而言,後面稍微簡單一些,只要在主表單中建立子表單的時候,保留所建立子表單對象即可。 下面重點介紹前一種,目前常見的有兩種方法,基本上大同小異: 第一種,在主表單類中定義一個靜態成員,來儲存當前主表單對象,例如: public static yourMainWindow pCurrentWin = null; 然後在主表單建構函式中,給靜態成員初始化,如下: pCurrentWin =
Time of Update: 2018-12-05
網站為了區分不同的使用者,會在每次訪問這個網站時給此會話一個ID,我們稱之為SESSIONID,而這個ID在每個IE會話中是可以直接看到的,但在類比登入中就很難擷取到。我就在這個問題上卡了很長時間的殼,現在將此問題的解決方案寫出來,以供後人蔘考。:-)
Time of Update: 2018-12-05
以前滿世界問過這個問題,沒有人理偶的說,還是自己動手搞定比較好。一般來說,一個COM對象在提供的時候,通常還會提供一個類型庫,在其中定義了COM對象的所有方法名稱、參數名稱、屬性名稱等等資訊。我們要做的就是從類型庫中取出這些資訊。當然,某些只供C++程式員使用的COM對象沒有類型庫,而代之以C++的標頭檔和/或idl檔案,對這種情況,一般沒有辦法在程式中枚舉出對象的方法屬性:畢竟去找C++標頭檔不太現實,何況在非開發環境下,根本就沒有標頭檔的說。因此,我們將討論當COM對象存在TypeLib的情