首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# Visio 二次開發:Shape Data1/Data2/Data3 內建屬性實戰應用

     編輯:關於C語言

Data1/Data2/Data3 特性

  • Shape 內建屬性,無需在 ShapeSheet 定義
  • 可儲存字串 (傳說支援 64KB,實測足夠一般用途)
  • 區別於 Custom Properties:無型別/格式/提示等中繼資料

適用場景:動態統計圖框/比例尺

繪圖時需繪製設備清單、比例尺等輔助圖形,內容隨圖面變化而更新。使用 Data1 標記此類形狀,便於識別與管理。

統計圖框示意圖

清除舊統計圖形


if (VisioUtility.HasShapeInWindow(visApp.ActiveWindow))
{
    visApp.ActiveWindow.SelectAll();
    foreach (Visio.Shape shape in visApp.ActiveWindow.Selection)
    {
        if (shape.Data1 == "tongji") // 標記識別
            shape.Delete();
    }
    visApp.ActiveWindow.DeselectAll();
}

繪製新統計圖形並標記


// 依座標繪製矩形
Visio.Shape shape = VisioUtility.DrawRectangeOnPage(visApp, 
    leftTopX, leftTopY - j * cellHeight, 
    leftTopX + leftCellWidth, leftTopY - (j + 1) * cellHeight);

// 寫入統計內容並標記
shape.Data1 = "tongji";
shape.Text = "設備類型: " + deviceType + "\n數量: " + count;

優勢總結

  • 無需修改主控項/形狀定義即可使用
  • 不汙染 Custom Properties 名稱空間
  • 讀寫效能高 (簡單屬性存取)
  • 適合暫時性、程式產生、非使用者編輯的輔助資訊
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved