一般我們使用ToolStrip大概都還是用.NET提供的基本下拉式選單,有一次在MSDN 論壇上有人發問是否可以做出自訂的樣式,這一篇文就來介紹如何自訂ToolStrip的ToolStripItem。
自訂ToolStrip的ToolStripItem
- 8756
- 0
- .NET Tricky
一般我們使用ToolStrip大概都還是用.NET提供的基本下拉式選單,有一次在MSDN 論壇上有人發問是否可以做出自訂的樣式,這一篇文就來介紹如何自訂ToolStrip的ToolStripItem。
在這系列的第一篇文章[WHS Add-in] Add-in 程式開發的準備]中曾經提到說 Windows Home Server Add-in因為和它的主控台軟體要整合的關係,所以會需要修改到安裝檔的一些屬性,這個屬性是在 msi檔的資料庫中的 Property 資料表,為了能讓Windows Home Server主控台能辨認出這個msi檔是屬於Add-in,而能夠在增益集的畫面中顯示,需要增加一個資料列,其欄位名稱為 WHSLogo ,值則等於1。
這個題目大概聽起來有點低級,但要寫WHS Console程式前瞭解關於設計上的限制是很重要的,否則你可能在開心地寫完Add-in後,發現安裝上去顯示出來的完全不是那麼一回事;更糟的是你可能連安裝都裝不上去。
最近在測試Windows Home Sever,身為一個Developer除了安裝設定以及惡搞之外,當然也會仔細想想要如何在這個系統的基礎上開發程式,新春開頭第一篇來寫個「Add- in 程式開發準備事宜」好了,來看看開發前要先注意哪些事情。
Microsoft 2009 年度論壇貢獻獎獲獎後記
Windows 7 上市有一陣子了,在Microsoft Answers論壇上有一個熱門的問題是關於SoundMax驅動程式的安裝,恰好兩位網友的問題分別為X64 (64位元版) 與X86 (32位元版)的版本。
最近在寫一個要將系統事件藉由簡訊平台發送到手機簡訊的軟體,我想說這玩意以前我就寫過應該不會太難,以前都用Every8D的平台寫,從來沒出過毛病,不過這一次的需求比較特殊,因為是政府單位(我猜應該是某個XX事務所),人客要求說要使用「全國XX即時訊息發送中心」發送訊息之URL API 平台發送簡訊,一開始看到範例的時候就傻眼了,因為那個範例是Java的,幸好朋友多,半問半猜之下也把測試的程式碼拼湊出來。
在前面講了一大堆以後,終於可以來看看「成員」說明,通常類別、列舉型別和介面都會有成員頁,這邊主要以類別的說明為主。
經過了前兩篇之後,這次咱們來瞧瞧一個類別說明的主要頁面。
搞懂了怎麼找到MSDN文件庫後,這一次的主題是要弄清楚是否有找到正確的資訊。
Microsoft .Net Framework事實上算是個非常龐大的架構,大概只有極少數的人有辦法把所有東西記在腦海中,所以在寫程式的過程中難免會需要閱讀文件。對於一個撰寫.Net 程式的人而言, MSDN Library( MSDN 文件庫 )其實是一個非常具有實用性的工具。我們不僅可以使用網際網路查詢MSDN 文件庫的內容,也可將其下載於電腦中以便於在無法上網的狀態下能夠在本機閱讀它。
七月是個令人歡欣鼓舞的月份,許多朋友這幾天都接到微軟通知獲選或是連任MVP的通知,雖然在噗浪已經狂賀一輪了,在這邊還是要恭喜他們,很開心他們的努力有獲得微軟的認可。言歸正傳,因為這幾天在改以前寫的類別庫,突然讓我想起為何 .Net中的列舉都是在命名空間﹝Namespace﹞中,而我的都寫在類別裡面;是不是自訂類別庫不能將列舉放在命名空間中呢?
Socket類別同時支援多種形式網路程式開發,許多網路通訊相關的類別都是以它為基礎衍伸而來,像之前所提的TcpClient、TcpListener與UdpClient等等。實際上個人也最喜歡用這個類別來開發網路通訊程式,雖然用Socket類別寫起來比較囉唆一點。
這一篇來應用一下BindingNavigator與BindingSource的結合,來取代前一篇使用Button做出來的功能,並且同時繫結資料到TextBox與DataGridView。
BindingSource類別在個人看來是 .NET 2.0的偉大發明之一,它具有兩種用途﹝引述自MSDN文件庫BindingSource 類別﹞:
第一,經由提供間接取值 (Indirection) 層、貨幣管理、變更告知和其他服務,簡化將表單上的控制項繫結至資料的動作。
第二,BindingSource 元件可以當做強型別的資料來源。
這一篇來談到如何使用使用TcpClient與TcpListener類別來實作TCP的通訊程式,顧名思義TcpClient當然是作為Clinet端使用;而TcpListener則是作為Server端使用。
這幾個月以來到各論壇逛來逛去幾乎已經快變成一種生活習慣,每天看著許多的人在各論檀發問,另外也有許多的人熱心的在論壇上回答問題,有個感想是發問其實也是件要學習的事情。有人或許會覺得這像抱怨文,如果看倌您看了覺得不舒服,在下我也只能跟您說聲抱歉。
在 .NET有兩種類別可用於建立UDP Socket,一是Socket類別,第二個則是由Socket類別所衍生的UdpClient類別。因為同步比非同步簡單、衍生類別比基底類別簡單、UDP比TCP簡單,所以我把同步的UdpClient當成Socket程式入門的首篇實作文章。
IPEndPoint類別其實是個小東西,就做一件很簡單的事情,把IP位址和通訊埠封裝成一個物件,雖然它是如此簡單,不過在某些狀態下會常用到這個類別,所以覺得有需要特別介紹一下。
小弟打算未來寫一系列相關於Socket程式的文章,前幾篇定位主要為介紹Socket程式的基本概念以做為基礎。