在開發完Vistual Studio程式後,製作發行程時,就會發現執行的程式序會多出vshost.exe這樣子的名稱,可以由Windows工作管理員看到。
裝載處理序 (vshost.exe)
裝載處理序是一種功能,可以改善偵錯的效能、 可讓部分信任偵錯,並可讓設計階段運算式評估的 Visual Studio。 裝載處理序檔的檔名中包含 vshost,且位於專案的輸出資料夾。
詳細說明可以參考msdn。
Csharp裡撰寫SystemTray程式時,可能會遇到執行時,在工作列或是按Alt+Tab時,表單Form還是可以被選取到,工作列不顯示,可以設定屬性ShowInTaskBar=false及WindowState=Minimized應該就可以解決了,不過按下Alt+Tab快速切換時,Form還是會被選取到的。
Windows Form的屬性設定裡並無法直接設定成圓邊,如果需要在FormBoderStyle為none的狀態下讓Form以圓邊的狀態下顯示,如下圖:
SQLite是一個簡易的資料庫系統,開放原始碼,可以直接把SQLite綁在程式裡使用,FireFox及Android等軟體也都有內建SQLite。SQLite不需要安裝,看起來就只是一個檔案而已,也可以使用memory模式,讓它存在記憶體中而不需要建立一個檔案存放。
SQLite支援的SQL指令:http://www.sqlite.org/lang_corefunc.html
C#要連接SQLite可以使用open source的System.Data.SQLite,它是一個基於ADO.Net所做與SQLite的溝通介面,目前支援到.net framework 3.5。可於sourceforge下載其dll來使用,就可以了。
下方的範例是介紹如何在Csharp下使用ADO.NET連接與操作SQLite,包含了自動產生SQLite檔案與DataGridView使用class binding datasource方法。
(需要先建置專案才能使用專案裡的class當做datasource)
在DataSource元件要使用Transaction,可以增加一個參考dll(system.transactions.dll),此dll只支援.Net 2.0以上,然後使用TransactionScope來在指定區域內做Transaction
參考資料網址:http://msdn.microsoft.com/zh-tw/library/system.transactions.transactionscope(VS.80).aspx
using System.Transactions;
using (TransactionScope scope = new TransactionScope())
{
SqlDataSource2.SelectParameters.Clear();
SqlDataSource2.DeleteCommand = "delete from table_name ";
SqlDataSource2.Update();
scope.Complete();
}