2011年12月4日 星期日

#VB 自訂控制項,透過智能標籤達到不同需求

希望透過智能標籤的設定
可以改變自訂控制向的屬性
達到一個控制向可以分別實作不同內容的功能



[Server Control] [ASP.NET 控制項實作 Day21] 實作控制項智慧標籤

[C#.NET][VB.NET] 自訂控制項的智能標籤-ControlDesigner / User Control of Smart Tag-ControlDesigner


'比較麻煩的是Form大小與TextBox大小(受font影響)需要分開定


1.控制項實作類別
 <DesignerAttribute(GetType(ComBoDateTextBoxDesigner))> _

Public Class ComBoDateTextBox
    Inherits System.Windows.Forms.UserControl

   (指定設計實作服務類別)

2.控制項設計實作類別

Partial Class ComBoDateTextBoxDesigner
    Inherits System.Windows.Forms.Design.ControlDesigner
  (需要宣告智能標籤集合)
DesignerActionListCollection


3.智能標籤內容實作類別

Public Class CustomControlActionList
    Inherits System.ComponentModel.Design.DesignerActionList

定義智能標籤所有內容
(關連到控制項類別相關可操作屬性)


=============================================
'要考慮TextBox字型大小,
去改變TextBox長寬,以及控制項Form外觀大小

'目前執行以後,遮罩效果可以設定,卻看不到
感覺跟Mask背後處理的東西有關係
處理完以後才呈現資料到Text上
Text是我沒處理的

'控制項無法取得焦點輸入


@一切都是因為我設定了TextBox與Form Size一起變動的原因
   Form 跟 控制項大小在設計階段手動調整就好


'再來就是限制輸入內容控制
MaskedTextBox.Mask 屬性


=================================================
設計一個GridView有幾個自訂屬性,透過自訂屬性設定可以完成
1. 連線模式 (Odbc,OleDB,SqlClient)
2. 設定預設資料庫伺服器,資料庫
3. 資料表,資料行
(以上原本都有)
================================


沒有留言:

張貼留言