主要參數說明
這是 StrucForm webview 控制項的參考文檔,概述了其公共方法及其描述
公共方法及其描述
StrucForm
是一個自定義的 UserControl,集成了 WebView2 元件,用於顯示和互動 HTML 內容。它支持各種任務的異步和同步操作,包括初始化、加載和保存文檔、設置文本和處理事件。
Task<bool> InitAsync()
bool Init()
使用特定模板或基線配置初始化表單。 Return: true=成功,false=失敗
Task<bool> RequiredDoneAsync()
bool RequiredDone()
檢查表單 必填欄位 是否已完成。 Return: true=成功,false=失敗
Task<bool> ResetFreeTextFormAsync()
bool ResetFreeTextForm()
重置自由文本表單。 Return: true=成功,false=失敗
Task<bool> InsertTemplateAsync(string text, int? cpos = null)
bool InsertTemplate(string text, int? cpos = null)
在指定位置 cpos 插入模板文本或表單 ##sheetID
##。
Return: true=成功,false=失敗
Task<string> GetTextAsync()
string GetText()
從 WebView2 獲取文本內容。 Return: string=成功,empty=失敗 回傳範例: '[comment:]\r\nThis is a comment section.\r\n[report:]\r\nHere is the report content.\r\n[impression:]\r\nImpression text here.'
Task<string> GetJsonTextAsync()
string GetJsonText()
從 WebView2 獲取含 heading 的文本內容。eturn: string=成功,empty=失敗 回傳範例: "{ 'all': '[comment:]\r\nThis is a comment section.\r\n[report:]\r\nHere is the report content.\r\n[impression:]\r\nImpression text here.', 'comment': 'This is a comment section.\r\n', 'report': 'Here is the report content.\r\n', 'impression': 'Impression text here.\r\n' }"
Task ShowDialogAsync(StructureConfiguration config)
彈出結構化視窗使用
Task<bool> SetTextAsync(string value)
bool SetText(string value)
在 WebView2 中設置文本內容。 Return: string=成功,empty=失敗
Task<bool> SaveDocAsync()
bool SaveDoc()
保存表單文檔。 Return: string=成功,empty=失敗
Task<bool> LoadDocAsync()
bool LoadDoc()
加載表單文檔。 Return: string=成功,empty=失敗
void MoveToNewWindow()
將 StrucForm 移動到新視窗。
void RestoreToOriginalParent()
將 StrucForm 恢復到原始父控制項。
void SendMessage(string messageType, object data)
向 WebView2 元件發送消息。
Properties 屬性
Configuration
Type:
StructureConfiguration
Description: Gets or sets the configuration for the control.
public class StructureConfiguration { // 必填使用者資料 public string UserID { get; set; } = "OL5"; // 使用者代號 public string Idno { get; set; } = "A123456789"; // 身分證字號 (用來確認管制病歷權限) public string UserName { get; set; } = "none"; // 使用者姓名 // 必填病人資料 public string Chtno { get; set; } = "500"; // 必填設定病歷號 public string Opdno { get; set; } = "20240401"; // 必填設定收件號 public string DeptNo { get; set; } = "none"; // 必填病人收件作業部門代號四碼 33F0 (非使用者部門) // 必填起始表單 BaselineJson, BaselineFormID 擇一填寫 public string BaselineJson { get; set; } // 優先以內建 JSON 文件 設定作為起始表單 public string BaselineFormID { get; set; } = "f93afc97-9403-4613-bd67-2f683d805234"; // 資料庫表單,預設純文字表單 // 選填 // 病人資料 public string Pacsno { get; set; } = "20240400001"; // 選填設定影像號(AI 推論使用) // 表單綁定 HIS 病歷欄位資料 public string DocTypeID { get; set; } = "none"; // 設定 HIS 病歷欄位ID (例如 HIS 檢查報告, OPD SOAP),請填寫代表該文件種類的字典ID public string DocTypeName { get; set; } = "DocTypeName"; // 設定放大視窗標題 SOAP,檢查報告 public string BaselinePreset { get; set; } = "opd"; // HIS 作業種類設定 (opd, ipd, exam, er) // 表單其他設定 public string SubpanelFormID { get; set; } = "7011725e-81f5-421f-8caf-337c6f2f7a21"; // 設定子頁面起始助手表單編號 (預設門診小助手表單 7011725e-81f5-421f-8caf-337c6f2f7a21) public int LimitDictVal { get; set; } = 4000; // HIS 欄位字元數 byte 上限 (中文2 byte) public List<string> Scutsource { get; set; } = new List<string> { "usr", "sub", "dpt", "sys" }; // 顯示個人,次專,科部,或體系表單 public List<string> Scutgroup { get; set; } = new List<string> { "門", "急", "住", "檢查", "手術" }; // 設定 "門", "急", "住", "檢查", "手術" 專用的快捷表單 public string DocDitto { get; set; } = ""; // 設定依 doctorID or deptNo 自動載入最近一次紀錄: DocDitto 預設 "" 不 ditto public bool DocAutoLoad { get; set; } = false; // 設定是否載入本診次(opdno) 暫存報告內容 public bool DocOverwrite { get; set; } = false; // 是否自動複寫同 opdno 文件,預設 false ,使用者可另存新檔 public bool ShortcutAutoSave { get; set; } = true; // 範本自動儲存 public string Font { get; set; } = "system-ui, sans-serif, Microsoft Sans Serif"; public int FontSize { get; set; } = 16; // 僅門診 opd 作業適用 public string FontWeight { get; set; } = "bold"; // 僅門診 opd 作業適用 public bool Preview { get; set; } = false; // 設定起始畫面為病歷預覽或編輯模式,預設 false 為編輯模式 public string URLRoot { get; set; } = "https://cghasp.cgmh.org.tw/structure/"; // 結構化 API 網址 public string URLtemplate { get; set; } = "http://10.30.111.14:85/"; // template API 網址 public bool EnableParentTemplateShortcut { get; set; } = false; // 啟動切換表單功能列 public bool EnableChildTemplateShortcut { get; set; } = true; // 啟動子表單切換功能列 public bool F2Fix { get; set; } = false; // 固定切換表單功能列 public bool showCharCount { get; set; } = true; // 設定是否顯示純文字字數計數 public bool showSubpanel { get; set; } = false; // 設定是否預設展開子頁面 public bool Debug { get; set; } = true; // 是否允許 Ctrl+D 顯示除錯視窗 public int OnlineCheckTimer { get; set; } = 5; // time interval for online check (sec) public string OPDtext { get; set; } = ""; // init() 控件啟動後,自動插入 OPDtext 到OPD 段落輸入框中 20241123 }
IsEnlarged
Type:
bool
Description: Indicates if the control is currently enlarged. 檢查是否有開啟放大視窗,有的話 strucForm.dispose() 前請先 strucForm.RestoreToOriginalParent()
IsOnline
Type:
bool
Description: Indicates if the control is currently online.
Events 事件
RightClickOccurred
事件
RightClickOccurred
事件定義
RightClickOccurred
是一個自訂事件,用於通知外部訂閱者在 StrucForm
控件中發生滑鼠右鍵點擊操作時的詳細資訊。
宣告
public event EventHandler<RightClickEventArgs> RightClickOccurred;
此事件的參數使用了 RightClickEventArgs
類別,它繼承自 EventArgs
,並包含右鍵點擊的具體滑鼠位置資訊。使用方式及範例請參見 事件及範例。
OnDataSaved
事件
OnDataSaved
事件OnDataSaved
是一個公開的事件,允許外部物件訂閱並在資料成功儲存時被觸發。這個事件使用了 C# 的標準 EventHandler<T>
,其中泛型參數為 string
,代表所傳遞的資料內容(例如儲存的 JSON 資料)。使用方式及範例請參見 事件及範例。
宣告方式
public event EventHandler<string> OnDataSaved;
Last updated