C#委託、事件、訊息(入門級)(再續)

  Windows作業系統是圖形介面的,而這是由於資訊隊列機制的功勞。  通常我們說的訊息,很多是廣義的概念,我們把對象之間的通訊稱作訊息互動。通過訊息,對象之前建立起聯絡。  那麼我們WinForm程式中的訊息是指什麼呢?我們說:WinForm程式中的訊息,很多時候是指作業系統向WinForm表單(這裡說得不是很對,但是先這樣理解沒有問題)發送的訊息,告訴它某一個事件發生了。比如滑鼠點擊,我們是不可能知道、表單本身也不會知道滑鼠被點擊,但作業系統知道滑鼠被點擊了,它會發送訊息到表單告訴它:滑鼠

C#安裝字型到系統

   [DllImport("kernel32.dll", SetLastError = true)]        static extern int WriteProfileString(string lpszSection, string lpszKeyName, string lpszString);

C#中Split用法

1、用字串分隔: using System.Text.RegularExpressions;string str="aaajsbbbjsccc";string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);foreach (string i in sArray) Response.Write(i.ToString() + "<br>");輸出結果:aaabbbccc2、用多個字元來分隔:string str="aaajb

C#匿名委託和匿名方法使用小技巧

  卷首語:匿名委託實指匿名方法或Lambda運算式。  昨晚有一個朋友給我出了一個問題:  在如下代碼中,怎樣才能輸出“Hello World”1 if(---填入代碼---)2{3  Console.Write("Hello ");4 }5 else6 {7   Console.Write("World");8

C#配置App.config

1. 向項目添加app.config檔案:右擊項目名稱,選擇“添加”→“添加建立項”,在出現的“添加新項”對話方塊中,選擇“添加應用程式設定檔”;如果項目以前沒有設定檔,則預設的檔案名稱為“app.config”,單擊“確定”。出現在設計器視圖中的app.config檔案為:<?xmlversion="1.0"encoding="utf-8"

Mixed mode assembly is built against version ‘v1.1.4322′ of the runtime and…問題——C#

.問題描述:現在.NET版本一般是4.0,本人在編譯低版本的.NET程式在4.0上運行時出現了“Mixed mode assembly is built against version 'v1.1.4322' of the runtime and......”錯誤——具體是這樣的,運行程式沒有任何反應,Debug的時候報這個錯誤。      2.解決方案:對於這個問題,Microsoft的說法是:http://blogs.msdn.com/b/jomo_fisher/archive/2009/1

C# datarow 拷貝 方法 轉自行囊

有兩個表A和B,兩表結構相同。現在需要將A表中部分行拷貝到B表中。如果我們直接用 DataTableB.rows.add(dataTableA.rows[0]) 這樣的方法式會報"row已經屬於A表"這樣的錯誤。所以我們可以用另外的方法。方法1,使用dataTable.ImportRow()方法。代碼如下:                        //得到A表中的部分行                        DataRow[] drA = dtA.Select("aimtype=3

C#在Winform程式中顯示QQ線上狀態

首先,引入必要的命名空間using System.Windows.Forms;  using System.Net;其次,在Form中拖入一個PictureBox控制項,並設定其SizeMode為AutoSize。同時拖入一個Timer控制項。然後在表單建構函式中寫入代碼timer1.Tag = 0;timer1.Interval = 10;timer1.Enabled = true;然後在Timer的Tick事件中寫入代碼Timer timer = (Timer)sender;

C#滑鼠點擊器-沒有測試-轉自http://hi.baidu.com/syq_ghost/item/2cc253eb538b72e7fb42ba44

C#滑鼠點擊器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.Runtime.InteropServices;using System.Threading;using

C#聊天+五子棋

此系統只是為了讓自己多瞭解一下有關底層通訊協定的相關知識。聊天功能是通過Socket利用Tcp協議來實現。聊天服務端:chatServer聊天用戶端:chatClient---聊天,是通過聊天服務端監聽,一旦有客戶串連上此服務端,那麼聊天服務端就儲存這個用戶端的Socket執行個體,並存放在一個IDictionnary內(全部的線上使用者),然後將已經存在的使用者資訊發送給此聊天用戶端(用戶端顯示線上列表),再將此用戶端的資訊發送給所有已經存在的用戶端使用者(及時更新用戶端線上使用者列表)。與此

C#基礎 [04] 儲存和變數

一、棧和堆  在程式運行時,它的資料是儲存在記憶體中的。而類型決定了一個資料項目需要多大的記憶體、儲存在什麼地方以及如何儲存。運行中的程式使用兩個記憶體地區來儲存資料——棧和堆。  1.棧    1).定義      棧是一個記憶體數組,是一個後進先出(LIFO,last-in

C#基礎 [12] 成員常量和唯讀欄位

一、成員常量  1.常量    常量是在編譯時間已知並在程式的生存期內不發生更改的不可變值。常量使用 const 修飾符進行聲明。只有 C# 內建類型(System.Object 除外)可以聲明為 const,使用者定義的類型(包括類、結構和數組)不能為

C#基礎 [07] 方法[上]

一、方法的結構   1.方法的概念     C#中的方法就是聲明在類型中的語句塊,是類型的函數成員。它既可以有名稱,也可以沒有名稱,沒有方法名的方法稱為匿名方法。   2.方法的結構     方法主要由兩部分組成:方法頭和方法體。其中,方法頭指定方法的特徵,包括方法是否傳回值以及傳回值的類型、方法名和參數列表;方法體就是由一對大括弧括起來的可執行代碼的語句序列,包括本地變數、流程式控制制結構、方法調用和嵌套塊等。方法的結構如所示   3.方法聲明樣本    下面樣本聲明一個無傳回值的、方法名為“

C#設計模式學習筆記-單例模式

  最近在學設計模式,學到建立型模式的時候,碰到單例模式(或叫單件模式),現在整理一下筆記。  在《Design Patterns:Elements of Resuable Object-Oriented Software》中的定義是:Ensure a class only has one instance,and provide a global point of access to。它的主要特點不是根據客戶程式調用產生一個新的執行個體,而是控制某個類型的執行個體數量-唯一一個。(《設計模式-

C# 抽象類別

抽象類別的修飾符 abstract。例:public abstract class 類名抽象類別不能進行執行個體化。抽象類別可以被繼承,但是如果抽象類別中含有抽象方法(有abstract修飾符)的話,派生的類中的必須它所實現繼承的抽象類別中的抽象方法。public abstract class Thc123_Com {        public abstract void GoTo(); }public class Thc123_Net : Thc123_Com {       public

C# 虛函數和重載函數

虛函數就是在這個函式宣告前加上virtual 這樣這個函數在它的衍生類別(子類)中可以被重寫 而子類在重寫父類的虛函數時,要顯式的加上override 用處:就是可以在子類中被重寫,當你繼承一個類時,如果覺得父類中的虛數不能滿足你的要求,就可以在子類中重寫這個函數了。 class  A   {  public  virtual  void  Func()    {     Console.WriteLine("FuncA");  } } class  C  :    A   {  public 

C#基礎 [11] 解構函式

一、解構函式  解構函式(destructor)用於析構類的執行個體。即在類的執行個體被銷毀之前,執行資源的清理或者釋放非託管資源。下面的程式碼範例中聲明了一個名為Car的類,該類包含一個名為~Car的解構函式:1 class Car2 {3 ~Car() // destructor4 {5 // 執行清理6 }7

c# 中堆和棧的區別

存放在棧中時要管儲存順序,保持著先進後出的原則,他是一片連續的記憶體域,有系統自動分配和維護。而堆是無序的,他是一片不連續的記憶體域,有使用者自己來控制和釋放,如果使用者自己不釋放的話,當記憶體達到一定的特定值時,通過記憶體回收行程(GC)來回收。 參考型別總是存放在堆中。實值型別和指標總是放在它們被聲明的地方。調用方法:系統先將一段編碼(堆的首部地址)放到棧上,緊接著放置方法的參數。然後代碼執行到方法時,尋找棧中放該堆首部地址的所有參數,並通過堆的首部地址來控制堆。參考型別:總是放在堆當中。當

C#對象序列化

  要讓一個對象支援.Net序列化服務,使用者必須為每一個關聯的類加上[Serializable]特性。如果類中有些成員不適合參與序列化(比如:密碼欄位),可以在這些域前加上[NonSerialized]特性。  C#支援三種序列化格式:二進位格式(使用BinaryFormatter序列化器)、SOAP格式(使用SoapFormatter序列化器)、XML格式(使用XmlSerializer序列化器)。這三種序列化器的區別如下:  二進位格式可序列化一個類型的所有可序列化欄位,不管它是公用欄位還

C#多線程編程之:volatile關鍵字的原理探討

volatile關鍵字  volatile關鍵字僅應用於類或結構欄位,用於通知編譯器,將有多個線程訪問該欄位,因此它不應當對此成員的狀態做任何最佳化,這樣可以確保該欄位在任何時間呈現的都是最新的值。  不是所有的類型都可以被定義為volatile欄位,只有以下類型才可被定義為volatile:參考型別。指標類型(在不安全的上下文中)。整型,如 sbyte、byte、short、ushort、int、uint、char、float 和

總頁數: 4314 1 .... 971 972 973 974 975 .... 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.