用C#調用Windows API向指定視窗發送

原文轉載自http://www.51testing.com/?uid-175761-action-viewspace-itemid-227073一、調用Windows API。 C#下調用Windows API方法如下: 1、引入命名空間:using System.Runtime.InteropServices; 2、引用需要使用的方法,格式:[DllImport("DLL檔案")]方法的聲明; [DllImport("user32.dll")]private static extern

C#中匯出Excel報表的方法

         在上篇博文中提到了C#執行Excel宏模版的方法,這篇我們來介紹下怎麼樣將模版匯出,並產生報表。winform中簡單的範例程式碼如下:public ExportTextReport(){            string strTempReportPath = "xxxxReport.xls";//匯出報表的路徑            string strTemplatePath = "xxxxTemplate.xls";//報表模版的路徑                  

c# 判斷網路是否串連

win32   API函數的做法:   要用的函數:InternetGetConnectedState   函數原形:BOOL   InternetGetConnectedState(LPDWORD   lpdwFlags,DWORD   dwReserved);   參數lpdwFlags返回當前網路狀態,參數dwReserved依然是保留參數,設定為0即可。   INTERNET_CONNECTION_MODEM   通過調治解調器串連網路  

C#擷取當前系統資訊的類

 /// <summary>    /// Class designed to give information    /// about the current system    /// </summary>    public static class Environment    {        #region Public Static Properties        /// <summary>        /// Name of the

ojective-c convert to pascal pattern

 Case I. Simple Class Objective-C XE4 // Protocol@protocol mycalcEvent- (void) oncalcEventA : (int) inx ext1:(int) extInx1;- (void) oncalcEventB : (int) inx ext1:(int) extInx1;@end // ObjC Class : mycalc -------@interface mycalc : NSObject {    BOOL 

執行個體 C#3.0與C#2.0相比之新特性(三)—匿名型別 匿名變數

在C#3.X中引進了var這個新關鍵字,在聲明局部變數時可用於替代原先的類型名,即當一個變數宣告身份識別為var類型並且該範圍域中沒有var名稱類型存在,那麼這個聲明就稱為隱含類型局部變數。先來看個完整的DEMO吧:CodeCode highlighting produced by Actipro CodeHighlighter

用c#小程式理解線程

CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Collections.Generic;using System.Text;using System.Threading;namespace ConsoleApplication1{class Program {static void

C# 中的變參

        C#中的方法需要一個明確的方法簽名,簽名包括以下內容:傳回型別、方法名稱和參數列表。有時也包括訪問限制符。        簽名中的參數列表中的參數數目包括固定和不固定兩種類型,數目固定的情況是我們經常見到的,不固定的則是很少見的。        例如,當我們需要實現一個整數加法的時候,可能首先想到的是下面的形式:CodeCode highlighting produced by Actipro CodeHighlighter

Effective C# Item35:重寫優於事件處理器

    .NET中許多類都提供了兩種不同的途徑可以處理來自系統的事件,一方面我們可以使用事件處理器,另一方面我們可以重寫基類的虛方法。這兩種方式有各自不同的用途,在衍生類別中,我們應該使用重寫虛方法的方式,來處理系統事件。    關於上述兩種方式,我們看以下的代碼。代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 public class

Effective C# Item10:理解GetHashCode()方法的缺陷

    GetHashCode()方法的用途:為一個基於散列的集合定義鍵的散列值,典型的散列集合包括HashTable和Dictionary。如果我們定義的類型在散列集中不會被用作鍵的話,那麼不用關心它的GetHashCode()方法是否高效和正確。   

Effective C# Item22:使用事件定義外發介面

    事件為類型定義了外發介面,C#的事件是建立在委託的基礎上的,委託為事件處理器提供了型別安全的函數簽名。    委託要比事件的使用範圍廣泛,我們可以把事件看做是一種經過了封裝的委託,專門用於事件驅動模型。你可以在客戶代碼中直接調用委託來激發委託指向的函數,而事件不可以,你只能在服務端呼叫事件,在用戶端呼叫事件是會引發編譯錯誤的。我們來看下面的程式。代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http:/

Effective C# Item11:優先採用foreach迴圈語句

    C#針對迴圈提供了一種新的形式:foreach,它和.NET架構中的集合介面密切聯絡。我們在程式中,應該優先使用foreach進行迴圈。    來看下面的程式碼片段代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 int [] foo = new int[100]; 2 3 // Loop 1: 4 foreach ( int i

Effective C# Item29:只有當新版基類導致問題時才考慮使用new修飾符

    我們一般在類成員上使用new修飾符,來重新定義繼承自基類的非虛成員,但是我們不建議這麼做,因為重新定義非虛方法會導致含混不清的行為。    非虛方法是靜態繫結的,編譯器並不會根據對象的運行時類型來判斷應該調用哪個方法;而虛函數使用的是動態綁定,編譯器會根據對象的運行時類型來判斷應該調用哪個方法。    避免使用new

More Effective C# Item8 :儘可能使用泛型方法,除非需要將型別參數用於執行個體的欄位中

    我們需要來討論一下泛型類和泛型方法的取捨。    一般情況下,我們很容易的被泛型型別的定義限制住,但是很多情況下,我們使用泛型方法就可以了。之所以推薦泛型方法,是因為當使用泛型類時,C#編譯器必鬚根據給出的約束為整個泛型類產生合法的IL,而且給出的約束也必須滿足整個類的需要;而泛型方法只需要為滿足泛型方法的約束就可以了,這樣我們可以在同一個類中針對不同的方法設定不同的約束,編譯器根據不同的約束來匹配不同的重載形式,同時使用者也會覺得更加清晰。    來看下面的代碼。代碼Code

Effective C# Item32:儘可能實現小尺寸、高內聚的程式集

    我們在劃分程式集時,經常會犯的一個錯誤:在一個程式集中放入了太多的東西,導致程式集很難被重用。    一個好的程式集應該是“高內聚”的,所謂內聚,是指將程式集封裝為一個有意義、有職責的單位,它一般可以用一句話簡單的話來描述,例如.NET架構中的System.Collection程式集就為儲存一組相關的對象提供了資料結構。我們不能這麼說:MyApplication程式集提供了任何我們所需的功能,這樣的描述太過散漫了。   

Effective C# Item13:使用靜態構造器初始化靜態類成員

    在建立類型的任何執行個體之前,我們需要初始化這個類型中的靜態成員變數,C#可以通過靜態初始化器或者靜態建構函式來完成這個任務,其中靜態構造器是一個特殊的函數,它會在一個類的任何方法、變零或者屬性被訪問之前執行。    我們不應該使用類型的樣本建構函式或者類型中的某些非靜態方法來初始化類型的靜態成員變數。    如果靜態成員初始化的過程不複雜,那麼我們可以在類型的初始化器中對其進行初始化;如果靜態成員初始化時,需要執行大量的邏輯操作,那麼我們可以將其初始化的過程提取到靜態建構函式中。   

Effiective C# Item1 : 使用屬性代替成員變數

    Item1:Always Use Properties Instead of Accessible Data Members    屬性是C#語言中一個很重要的特性,我們可以使用屬性對成員進行封裝。    從編譯器的角度來看,屬性就是針對成員變數兩個方法:get_xxx和set_xxx,這一點和Java是很像的,當我們在Java中定義個成員變數,然後通過重構產生相應的屬性時,對應的方法名就是get_xxx和set_xxx。   

Effective C# Item19:定義並實現介面優於繼承類型

    這個話題不僅僅是針對.NET的,在其他物件導向語言的環境中,例如Java,都會有介面和抽象類別,對於究竟是選擇介面還是抽象類別,已經有了太多的討論,包括設計模式中都有了一條設計原則:組合優於繼承,雖然這條原則和我們要討論話題沒有太大聯絡,但是可以看出在這方面如何做出選擇,並沒有一個萬能的解決方案,一般都要見招拆招,具體問題具體分析。  

C#去除字串空格的幾種方法收藏

1.正規運算式:System.Text.RegularExpressions.Regex.Replace(str, "([ ]+)", "") --   str是輸入或要檢測的字串。2.使用字串內建的Replace方法:str.Replace(" ","")-------------  

c#繼承com

大概看了一下書,照做了一下,感覺功能上主要就是能實現一個事務的功能,其他的沒有看到什麼新鮮的東東。還有就是這個也能實現remoting那種功能, 可以電腦間通訊,不過書裡講的也不深,自己又懶得找資料看了,大概也就是明白了一個基本的實現和使用吧。對com+組件的設定可以在程式裡用屬性設定, 也可以在com+元件服務瀏覽器裡進行設定。下面是有組件和無組件的代碼有組件:using System;using System.Collections.Generic;using

總頁數: 4314 1 .... 2034 2035 2036 2037 2038 .... 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.