C#-如何調(diào)用Microstation的消息管理器

? 正文

?在進行Bentley二次開發(fā)的時候,通常我們需要向用戶輸出一些信息腐缤,比如操作的提示,錯誤的提示等等肛响×朐粒可以采用以下方式:


? 1、通知管理器(Notification Manager)

?NotificationManager控制與用戶的交互特笋√杲剑可以用此類來生成提示、錯誤消息和警報對話框。

消息位置

dll名稱:Bentley.DgnPlatformNET.dll
命名空間:Bentley.DgnPlatformNET
類名:NotificationManager

//打開消息彈窗
public static MessageBoxValue OpenMessageBox(MessageBoxType mbType, string message, MessageBoxIconType icon);
//向MS的底部通知欄寫入提示
public static StatusInt OutputMessage(NotifyMessageDetails message);
public static void OutputPrompt(string prompt);
//設(shè)置一個標志來分配(value==true時)事件偿渡,以便在執(zhí)行費時算法時臼寄,刷新界面霸奕,從而不卡頓溜宽。
public static void SetDispatchEvents(bool value);

public enum MessageBoxType
{
    YesNo = -121,
    LargeOk = -119,
    YesNoCancel = -113,
    MediumAlert = -112,
    Ok = -97,
    OkCancel = -13,
    None = 0
}
public enum MessageBoxIconType
{
    NoSymbol = 0,
    Information = 1,
    Question = 2,
    Warning = 3,
    Critical = 4
}
public enum MessageBoxValue
{
    None = 0,
    Apply = 1,
    Reset = 2,
    Ok = 3,
    Cancel = 4,
    Default = 5,
    Yes = 6,
    No = 7,
    Retry = 8,
    Stop = 9,
    Help = 10,
    YesToAll = 11,
    NoToAll = 12
}

? 2、消息中心(MessageCenter)

Bentley在Bentley.MstnPlatformNET中也存在與消息管理器一樣的類以供調(diào)用向用戶傳遞消息质帅。
dll名稱:ustation.dll
命名空間:Bentley.MstnPlatformNET
類名:MessageCenter

public class MessageCenter
{
    public static MessageCenter Instance { get; }
    public string StatusWarning { set; }
    public string StatusMessage { set; }
    public string StatusPrompt { set; }
    public string StatusCommand { get; set; }

    public static string GetStringFromMessageListResource(int listId, int stringId);
    public void ShowDebugMessage(string briefMessage, string detailedMessage, bool openAlertBox);
    public void ShowDebugMessage(string briefMessage, string detailedMessage, MessageAlert alertType);
    public void ShowErrorMessage(string briefMessage, string detailedMessage, bool openAlertBox);
    public void ShowErrorMessage(string briefMessage, string detailedMessage, MessageAlert alertType);
    public void ShowInfoMessage(string briefMessage, string detailedMessage, bool openAlertBox);
    public void ShowInfoMessage(string briefMessage, string detailedMessage, MessageAlert alertType);
    public void ShowMessage(MessageType messageType, string briefMessage, string detailedMessage, MessageAlert alertType);
}

? 3适揉、測試代碼

附上Notification Manager測試代碼的鏈接,加載編譯之后的ArticleSourceCode.dll煤惩,調(diào)用Key-in:test message manager嫉嘀。彈出一個操作窗體,通過選擇不同選項魄揉,即可查看相應(yīng)方法的效果剪侮。


測試操作窗體

>GitHub源代碼

? 4、使用方法
  • OpenMessageBox方法
private void NotificationManagerOpenMessageBox()
{  
    NotificationManager.OpenMessageBox(NotificationManager.MessageBoxType.MediumAlert, "Medium alert",NotificationManager.MessageBoxIconType.Warning);
}
  • OutputMessage方法
private void NotificationManagerOutputMessage()
{
    OutputMessagePriority outputMessagePriority = OutputMessagePriority.Information;
    string briefMsg = "this is a brief msg";
    string detailMsg = "this is a detail msg";
    NotifyTextAttributes notifyTextAttributes = NotifyTextAttributes.AlwaysBeveled;
    NotifyMessageDetails notifyMessageDetails = new NotifyMessageDetails(outputMessagePriority,briefMsg,detailMsg,notifyTextAttributes,OutputMessageAlert.Balloon);
    NotificationManager.OutputMessage(notifyMessageDetails);    
}
OutputMessage效果
  • OutputPrompt方法
private void NotificationManagerOutputPrompt()
{
    NotificationManager.OutputPrompt("this is ouput prompt");
}
OutputPrompt使用效果

未經(jīng)授權(quán)洛退,禁止轉(zhuǎn)載哦~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瓣俯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子兵怯,更是在濱河造成了極大的恐慌彩匕,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件媒区,死亡現(xiàn)場離奇詭異驼仪,居然都是意外死亡,警方通過查閱死者的電腦和手機袜漩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門绪爸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宙攻,你說我怎么就攤上這事奠货。” “怎么了粘优?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵仇味,是天一觀的道長。 經(jīng)常有香客問我雹顺,道長丹墨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任嬉愧,我火速辦了婚禮贩挣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己王财,他們只是感情好卵迂,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绒净,像睡著了一般见咒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上挂疆,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天改览,我揣著相機與錄音,去河邊找鬼缤言。 笑死宝当,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的胆萧。 我是一名探鬼主播庆揩,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼跌穗!你這毒婦竟也來了订晌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤瞻离,失蹤者是張志新(化名)和其女友劉穎腾仅,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體套利,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡推励,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了肉迫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片验辞。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖喊衫,靈堂內(nèi)的尸體忽然破棺而出跌造,到底是詐尸還是另有隱情,我是刑警寧澤族购,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布壳贪,位于F島的核電站,受9級特大地震影響寝杖,放射性物質(zhì)發(fā)生泄漏违施。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一瑟幕、第九天 我趴在偏房一處隱蔽的房頂上張望磕蒲。 院中可真熱鬧留潦,春花似錦、人聲如沸辣往。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽站削。三九已至坊萝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钻哩,已是汗流浹背屹堰。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留街氢,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓睦袖,卻偏偏與公主長得像珊肃,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子馅笙,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 一伦乔、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 5,744評論 0 10
  • 專業(yè)考題類型管理運行工作負責人一般作業(yè)考題內(nèi)容選項A選項B選項C選項D選項E選項F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 8,984評論 0 13
  • 鹿旭市的北城初中是一所十分有名的私立學(xué)校,2029年他們學(xué)校迎來了新一屆的新生董习。在這青春年華剛剛開始的時候烈和,七段最...
    粼粼流Yao閱讀 458評論 0 1
  • 28班2.0第二組發(fā)言稿 熊建權(quán)20180306 分享房間:27861331 分享主題:我運動我快樂 一、三個標簽...
    一日看人生閱讀 172評論 0 0