程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#進行Visio二次開發之管理下拉列表(1)

C#進行Visio二次開發之管理下拉列表(1)

編輯:關於C語言

每個Shape有很多屬性,這裡我是指自定義屬性,每個屬性都對應一種類型,就像我們在SqlServer創建一個字段的時候,需要指定其類型一樣。Visio的屬性類型有以下幾種:

說明 自動常量 0 字符串。此為默認值。 visPropTypeString 1 固定列表。在形狀數據對話框的下拉組合框中顯示列表項。在 Format 單元格中指定列表項。用戶只能從該列表中選擇一項。 visPropTypeListFix 2 數字。包括日期、時間、持續時間和貨幣值,以及標量、尺寸和角度。在 Format 單元格中指定格式圖片。 visPropTypeNumber 3 布爾值。顯示 FALSE 和 TRUE 項,這兩項正是用戶可以從形狀數據對話框中的下拉列表框選擇的項。 visPropTypeBool 4 變量列表。在形狀數據對話框的下拉組合框中顯示列表項。在 Format 單元格中指定列表項。用戶可以選擇列表項或在 Format 單元格中輸入添加到當前列表中的新項。 visPropTypeListVar 5 日期或時間值。顯示日、月和年,或者秒、分鐘和小時,或者日期和時間的組合值。在 Format 單元格中指定格式圖片。 visPropTypeDate 6 持續時間值。顯示已經過去的時間。在 Format 單元格中指定格式圖片。 visPropTypeDuration 7 貨幣值。使用系統的當前“區域設置”。在 Format 單元格中指定格式圖片。 visPropTypeCurrency

本文著重介紹下兩種類型:visPropTypeListFixvisPropTypeListVar,分別為固定列表和可變列表,其實這兩種類型對應的.Net編程控件模型就是ComboBox,這個控件有個屬性DropDownStyle,可以指定為DropDownList和DropDown這兩種類型,本質上visPropTypeListFix對應DropDownList類型(只能選擇列表的值),visPropTypeListVar對應DropDown類型(除了可選列表值,還可以輸入新的值)。

Visio的這兩種列表的值,都是通過對應的ShapeSheet行中的Format的值來展示的,如有一個列表的Format的值為“專用;公用”,那麼就有兩項可以選擇,如下圖所示。

?

那我們在Visio的二次開發程序中如何管理這些下拉列表的呢?

對於固定列表,我們在添加或者修改自定義屬性的時候,就給它固定的值那就可以了,很簡單,如下面的代碼:

targetShape.get_CellsU("Prop."?+?source.Name?+?".Format").FormulaU?=?"專用;公用"

對於可變列表,我們就不希望把內容寫死,否則妄為其名。如“生產廠商”屬性,我們就希望它能夠隨著我們的數據庫內容的變化而變化,那麼如何實現呢?

首先,我們在數據庫中創建兩個表,一個表命名為DropdownListFIEld,用來放置下拉列表的字段;一個表命名為DropdownListValue,用來放置可變列表的選項值。

?

接著,我們在添加或者修改模具屬性的時候,對每個設備的字段,為可變列表類型visPropTypeListVar,而沒有加入列表字段表DropdownListFIEld的,添加到數據庫。這樣就相當於在數據庫中注冊了該字段為可變列表,可以給它賦值了(下面介紹)。

然後,就是給可變列表賦值的步驟了,我們從數據庫中找出相關的可變列表字段,給它添加或者刪除相關的列表項就可以了,如下圖所示。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved