Time of Update: 2018-12-07
我們在做winform應用的時候,大部分情況下都會碰到使用多線程式控制制介面上控制項資訊的問題,隨之就極有可能出現這個異常:Cross-thread operation not valid:Control 'textBox1' accessed from a thread other than the thread it was created
Time of Update: 2018-12-07
參考《ASP.NET與SQL一起打包部署安裝》,這篇文章是針對VB.NET與SQL 一起打包的,但是我使用的是C#,當然只要修改一下主要安裝類庫就行了!C#的類庫代碼如下:DBCustomAction.csusing System;using System.Collections;using System.Data.SqlClient;using System.ComponentModel;using System.Configuration.Install;using
Time of Update: 2018-12-07
在我們的程式中,經常會有一些耗時較長的運算,為了保證使用者體驗,不引起介面不響應,我們一般會採用多線程操作,讓耗時操作在後台完成,完成後再進行處理或給出提示,在運行中,也會時時去重新整理介面上的進度條等顯示元,必要進,還要控制後台線程中斷當前操作。以前,類似的應用會比較麻煩,需要寫的代碼較多,也很容易出現異常。在 .net中,提供了一個組件
Time of Update: 2018-12-07
相信每個人對註冊表並不陌生,在運行裡面輸入“regedit”就可以開啟登錄編輯程式了。這東西對Windows系統來說可是比較重要的,也是病毒常常會光顧的地方,比如病毒和惡意軟體常常會在註冊表的啟動項裡面寫入自己的啟動索引值來達到自啟動的目的,有些病毒還會修改註冊表裡面來映像劫持殺毒軟體,這是破壞系統的第一步。同時,大多軟體(軟體的序號和資訊)和硬體資訊、系統資訊、安全模式等等設定都儲存在這裡,因此系統的健康在很大程度上要依賴註冊表的健康。
Time of Update: 2018-12-07
最近開發一款軟體,發現如果一個視窗上有多個輸入控制項,當我們改變第一個輸入控制項的IME時,其它控制項的IME不會改變(像一些常見的軟體,IME只用切換一回),比較鬱悶,在網上搜尋良久,終於找到解決方案了。 原文地址:在C#應用程式中控制IME以及如何用C#控制當前IME 代碼如下(放到Form_Load中就可以了): 代碼Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
轉自:http://blog.sina.com.cn/s/blog_48a45b950100j68w.html;靜態類 靜態類與非靜態類的重要區別在於靜態類不能執行個體化,也就是說,不能使用 new關鍵字建立靜態類類型的變數。在聲明一個類時使用static關鍵字,具有兩個方面的意義:首先,它防止程式員寫代碼來執行個體化該靜態類;其次,它防止在類的內部聲明任何執行個體欄位或方法。 靜態類是自C# 2.0才引入的,C#
Time of Update: 2018-12-07
花了兩天時間終於把張老師關於委託和事件的文章看完並實踐了一下,對委託和事件的瞭解更加清楚了。以前不知道有了委託還要用事件,一直都沒有弄清楚,今天終於明白了這點:聲明一個事件不過類似於聲明一個進行了封裝的委託類型的變數而已,就像聲明一個sting類型的屬性一樣;而且事件應該由事件發行者觸發,而不應該由用戶端(客戶程式)來觸發,用戶端只要訂閱這個時間就好了,當時間發行者發生變化觸發事件時,自動執行用戶端的註冊方法。此外,學習到委託和方法的非同步呼叫,受益匪淺啊。link:http://www.cnb
Time of Update: 2018-12-07
基於Socket伺服器端實現本例主要是建立多用戶端與伺服器之間的資料轉送,首先設計伺服器。開啟VS2008,在D:\C#\ch17目錄下建立名為SocketServer的Windows應用程式。開啟工程,往當前表單中添加控制項,如表17-6所示。表17-6 添加控制項列表控
Time of Update: 2018-12-07
1.圖錶轉換成BASE64碼 private string buffer1; private string buffer2; //讀取檔案... private void button1_Click(object sender, EventArgs e) { OpenFileDialog openDlg = new OpenFileDialog(); openDlg.Filter =
Time of Update: 2018-12-07
在C#中直接引用ThoughtWorks.QRCode.dll 類,ThoughtWorks.QRCode.Codec.QRCodeEncoder encoder = new QRCodeEncoder();encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC;//編碼方法encoder.QRCodeScale = 4;//大小encoder.QRCodeVersion =
Time of Update: 2018-12-07
using System.Threading;namespace WindowsFormsApplication2{ public partial class Form1 : Form { private delegate void FlushClient(); public Form1() { InitializeComponent(); } private void Form1_Load(
Time of Update: 2018-12-07
using System.IO;using System.Diagnostics;namespace WebApplication1{ public class FileText { public static string FileAddress = "c:\\error.txt"; /// <summary> /// 記錄錯誤的類名和方法名及錯誤資訊 /// </summary> ///
Time of Update: 2018-12-07
系列文章索引:《白話C#》首先要說的是,可能一些剛接觸C#的朋友常常容易把屬性(Property)跟特性(Attribute)弄混淆,其實這是兩種不同的東西。屬性就是物件導向思想裡所說的封裝在類裡面的資料欄位,其形式為: 1: public class HumanBase 2: { 3: public string Name { get; set; } 4: public int Age { get; set; } 5: public int
Time of Update: 2018-12-07
通常我們在程式中需要調用WebService時,都是通過“添加Web引用”,讓VS.NET環境來為我們產生服務代理,然後調用對應的Web服務。這樣是使工作簡單了,但是卻和提供Web服務的URL、方法名、參數綁定在一起了,這是VS.NET自動為我們產生Web服務代理的限制。如果哪一天發布Web服務的URL改變了,則我們需要重新讓VS.NET組建代理程式,並重新編譯。在某些情況下,這可能是不能忍受的,我們需要動態調用WebService的能力。比如我們可以把Web服務的URL儲存在設定檔中,這樣,當
Time of Update: 2018-12-07
//普通委託 DeleteShow ds = new DeleteShow(ShowName); Console.WriteLine("----------------------"); Console.WriteLine("普通委託----請輸入使用者名稱:"); string Name = Console.ReadLine(); Console.WriteLine(ds(Name))
Time of Update: 2018-12-07
常規做成方法namespace WindowsApplication1 { enum Weakday { 星期一, 星期二, 星期三, 星期四, 星期五, 星期六, 星期日 } public partial class Form1 : Form { public Form1() { InitializeComponent(); BinderEdays(); } /// <summary> /// 將枚舉綁定到下拉框中 /// </summary> private
Time of Update: 2018-12-07
Windows Service這一塊並不複雜,但是注意事項太多了,網上資料也很淩亂,偶爾自己寫也會丟三落四的。所以本文也就產生了,本文不會寫複雜的東西,完全以基礎應用的需求來寫,所以不會對Windows Service寫很深入。本文介紹了如何用C#建立、安裝、啟動、監控、卸載簡單的Windows Service 的內容步驟和注意事項。一、建立一個Windows Service1)建立Windows
Time of Update: 2018-12-07
在多線程編程中,我們經常要在背景工作執行緒中去更新介面顯示,而在多線程中直接調用介面控制項的方法是錯誤的做法,Invoke 和 BeginInvoke 就是為瞭解決這個問題而出現的,使你在多線程中安全的更新介面顯示。正確的做法是將背景工作執行緒中涉及更新介面的代碼封裝為一個方法,通過 Invoke 或者 BeginInvoke 去調用,兩者的區別就是一個導致背景工作執行緒等待,而另外一個則不會。而所謂的“一面響應操作,一面添加節點”永遠只能是相對的,使 UI
Time of Update: 2018-12-07
最近有開發需求涉及的listview 的listviewitem的排序的問題,找了些資料都是斷斷序序的,把我的實現方法總結一下,主要實現代碼如下: CodeCode highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
實現簡單計算功能的計算機程式碼:實現一個互動計算機 ß準系統如下:提示使用者分別輸入第一個數、第二個數、運算子號,然後給出計算結果;把剛才的結果作為下一次的運算元,繼續參加下一次的運算。 #include<iostream>ß#include<cmath>using namespace std;int main(){ int i,j,w=0; float m; char k; int js(int i,int j,char