Time of Update: 2018-12-05
.NET 不允許在一個線程中直接存取另一個線程建立的控制項,會引發異常:線程間操作無效,從不是建立控制項XXX的線程訪問它。Windows 表單中的控制項被綁定到特定的線程,不具備執行緒安全性。如果從另一個線程調用控制項的方法,那麼必須使用控制項的一個 Invoke 方法來將調用封送到適當的線程。本文以一個線程去改變另一個線程的 Label(lb_Name) 的 Text 屬性為例,實現不同線程間控制項的訪問。1:聲明一個委託,方法簽名為一個 stringpublic delegate
Time of Update: 2018-12-05
在前面我們已經完成了ActiveX控制項的開發,接下來的就是發布它了。 首先,我們建立一個windows安裝項目,並將ActiveX控制項的主輸出添加到項目輸出中。然後,改動ActiveX控制項的主輸出檔案,將其Register屬性改為vsdrpCOM.: 下一步,我們改動項目屬性,將引導程式更改為 Web引導程式。很遺憾的是,在 Web引導程式設定
Time of Update: 2018-12-05
在我的第一篇blog發表之後,得到大家的支援,我的工作得到了認可,感到很開心。當然,很多朋友也提出了很多出色的見地。我想在這裡說明一下我對這些問題的理解。 我所完成的控制項是一個用來擷取用戶端網路攝影機圖片並儲存在特殊檔案夾裡,然後上傳到伺服器的ActiveX控制項。給大家一個。 顯示圖片的就是那個控制項。
Time of Update: 2018-12-05
前些日子做一個Web項目,必須自己編寫一個ActiveX控制項。如今的ActiveX控制項大多是使用VB/C++來開發的,而我對他們並不熟悉,因此考慮使用熟悉的C#編寫ActiveX控制項。 首先,建立一個WinForm控制項項目HelloWorld,並拖入一個Label控制項,文字設為HelloWorld, UserControl1.cs內容如下: using System; using System.Collections;
Time of Update: 2018-12-05
在我的上一篇blog中,已經實現了一個最基本的ActiveX控制項。當然,我們編寫的任務還沒有完成。首先,我們先嘗試實現和JS的互動能力。 我們在Demo中加入ShowMessage方法: public void ShowMessage(string msg) { if(msg != null) { MessageBox.Show(msg); }
Time of Update: 2018-12-05
衍生類別可以調用基類的方法: 1、通過使用base關鍵字; 2、衍生類別在訪問基類的時候有一定的限制,不能訪問private的成員;internal的基類成員只能被同一個程式集中的衍生類別訪問。樣本:public class Account{ public double balance; public bool Withdraw(double amt) { balance -=amt; return true; }}public class
Time of Update: 2018-12-05
五、C# 編輯器 編寫C#程式可以在文字編輯器中進行,或者在整合式開發環境Visual Studio中進行。市場上還有一些第三方編輯器,其中一些是免費的。更多資訊請查看這裡。 六、C#的程式結構 一個C#程式包含一個類,這個類中至少有一個公用的靜態方法Main,這個方法對程式進行初始化並終止程式。在Main方法中建立子物件、執行方法並實現軟體的邏輯處理。下面是一個典型的微型C#常式: using System; class MyFirstApp { static int
Time of Update: 2018-12-05
extern修飾符用於聲明在外部實現的方法。 extern 修飾符的常見用法是在使用 Interop 服務調入Unmanaged 程式碼時與 DllImport 屬性一起使用;在這種情況下,該方法還必須聲明為 static,如下面的樣本所示: [DllImport("avifil32.dll")] private static extern void AVIFileInit(); 注意 extern
Time of Update: 2018-12-05
C# 中類的屬性,編譯成中繼語言後是 get、set 兩個方法,調用屬性實際上是調用 get 或 set 方法。 這一點剛接觸 C# 時就學到過,但沒往心裡去。今天修改了項目類庫中的一個類,把原來一個公用欄位用一個同名可讀寫的屬性實現。本來想著在其它調用這個欄位的地方,因為調用屬性和調用欄位文法完全一樣,名字也沒變,代碼是不用改的。但卻發現程式運行不了,提示找不到原來的那個欄位。用 ildasm 開啟新的組件檔一看,頓時明白了怎麼回事兒:屬性的實質還是方法,get
Time of Update: 2018-12-05
這世界上沒有什麼比編程工具更加牽動程式員的心。VC、VB、DELPHI、JAVA……這些耀眼的名字不僅佔據了程式員的生活,而且似乎已經成為了某種信仰。可是,伴隨著新世紀的腳步,這些信仰又一次遭遇了重大的挑戰。微軟,這頭被法官和駭客們折騰得既疲憊又惱怒的獅子,發誓要保住它頭上的王冠,拼盡全力,拿出了看家的本事.NET戰略。作為 .NET的核心開發語言,C#
Time of Update: 2018-12-05
2、用Visual C# 建立Windows應用程式 在Visual C#建立一個Windows (GUI) 應用程式要以前版本的VC++ 容易得多。下面將介紹用Visual C#工程檔案嚮導建立Windows應用程式的過程。 建立應用程式架構 在VS .NET IDE中選擇“建立->工程檔案->Visual C# 工程檔案->Windows 應用程式”:然後點擊 OK,出現一個表單設計檢視(這與VB或Delphi相同)。在右側我們看到了一個解決方案導航器(
Time of Update: 2018-12-05
九、C#編程實戰演習ABC 1、用Visual Studio .NET編寫C#程式 Visual Studio.NET 是Microsoft新一代的旗艦開發環境,在這個環境中,我們能夠看到Microsoft將所有開發工具都整合到一個IDE中。我們驚喜地發現,我們擁有了一個所有程式設計語言都適用的代碼編輯器。而且,這個環境中還具一個HTML 編輯程式、一個XML編輯器、一個SQL Server介面以及一個Server Explorer。 下面,我們將學習如何在 Visual Studio
Time of Update: 2018-12-05
一、什麼是 C# C# 是由Microsoft開發的一種新型程式設計語言,由於它是從C和C++ 中派生出來的,因此具有C++的功能。同時,由於是Microsoft公司的產品,它又同 VB一樣簡單。對於web開發而言,C#象 Java,同時具有Delphi的一些優點。Microsoft宣稱:C#是開發.NET架構應用程式的最好語言。 二、Java與 C# 要學習C#,不能不首先看一看Java語言。
Time of Update: 2018-12-05
因為一般都用T-SQL來執行資料庫操作,偶爾現在轉到用預存程序,竟然寫不來調用過程的傳回值了,查了很多資料,都不詳細,或者沒到點上,也許是我比較笨,呵呵。C# 原始碼 1 /// <summary> 2 /// 校正使用者 3 /// </summary> 4 /// <param name="user">使用者資訊</param> 5 /// <returns&
Time of Update: 2018-12-05
C# 程式員參考 const(C# 參考) const 關鍵字用於修改欄位或局部變數的聲明。它指定欄位或局部變數的值是常數,不能被修改。例如: const int x = 0;public const double gravitationalConstant = 6.673e-11;private const string productName = "Visual
Time of Update: 2018-12-05
今天我們來談談C#中子類和父類中靜態成員以及建構函式的執行順序,這個地方向來是初學C#的人比較迷惑的地方,也是各大公司最喜歡拿來出面試題的地方。下面我們分情況來分析。 1.
Time of Update: 2018-12-05
C# 簡答題參考答案[轉載]http://season.ouc.edu.cn by icyfire好像也是很多面試題的題目。不過這裡發的是快要考試的參考題目。大家對參考答案有什麼疑義,請跟鐵!~ 簡答題目1. 物件導向的思想主要包括什嗎?繼承 多態 封裝 封裝:用抽象的資料類型將資料和基於資料的操作封裝在一起,資料被保護在抽象資料類型內部。 繼承:子類擁有父類的所有資料和操作。 多態:一個程式中同名的不同方法共存的情況。 有兩種形式的多態–
Time of Update: 2018-12-05
稍微有過C#基礎的程式員都知道,實值型別和參考型別在記憶體中的分配方式是不一樣的。下面我們就來談談他們的具體分配過程。1.
Time of Update: 2018-12-05
public void BubbleSort(int[] R) { int i,j,temp; //交換標誌 bool exchange; //最多做R.Length-1趟排序 for(i=0; i<R.Length; i++) { //本趟排序開始前,交換標誌應為假 exchange=false; for(j=R.Length-2; j>=i; j--) { //交換條件 if(R[j+1]&l
Time of Update: 2018-12-05
字元,位元組和編碼http://www.regexlab.com/zh/encoding.htm文章具體示範了window和linux下的字元轉換,此外還有JAVA版的示範。UTF-8 and Unicode FAQ for Unix/Linuxhttp://blog.csdn.net/lovekatherine/archive/2007/08/30/1765903.aspx淺談C中的wprintf和寬字元顯示http://blog.csdn.net/lovekatherine/archive/