silverlight 讓右上角關閉按鈕 無效

2022-02-19 10:50:20 字數 1014 閱讀 1978

有乙個需求,在彈出的頁面裡,使用者沒有進行某個操作時,不允許退出彈出頁面。專案是silverlight做的。彈出頁面是個silverlight子視窗。vs會自動在頁面右上角有個x按鈕。

先上一段開始寫的遮蔽右上角關閉按鈕的**,為頁面新增closing事件。

1

//關閉窗體

2private

void childwindow_closing(object

sender, system.componentmodel.canceleventargs e)310

else

1115 }

以上**在winform和wpf裡面滿足要求。讓頁面右上角的x關閉按鈕失效。

但在silverlight裡面,e.cancel = true;不能阻止頁面的關閉。

然後翻閱msdn。結論:在silverlight裡面微軟為了防止惡意的流氓軟體。做了以下兩個限制。

1,開始執行silverlight程式,不能自動全屏。必須有第三方觸發的事件全屏**才有效。

2,彈出層的右上角x按鈕。後台取消關閉事件的**無效。即e.cancel = true無效。

原來如此,這些是在一定程度上貌似阻止了流氓軟體,但卻給coder們也造成了不小的壓力。 偶然一天,突然想到當silverlight程式在非除錯情況下,如果程式出現異常,silverlight不會死掉(微軟的安全機制),而是執行到出現異常**的地方停止。不會造成介面的鎖定和死掉。那既然如此,為什麼我們不用乙個異常來阻止x按鈕的關閉事件呢?

修正後的**

1

//關閉窗體

2private

void childwindow_closing(object

sender, system.componentmodel.canceleventargs e)310

else

1116 }

總結: 筆者愚鈍,以上實現方法有點噁心。但只有實現功能,總是好的。希望園友能給出更好的解決方案。

Android APP右上角通知開發

借鑑部落格 在開始之前,先宣告一下。其實本來android原生系統是不支援應用桌面角標 badgenumber 顯示的。我們目前看到的能支援應用桌面角標顯示的android系統,都是第三方廠商自己定製的。通過實現一套自己的launcher並且提供外部介面給第三方應用來呼叫即可。第二,本文中涉及到的方...

3左上角右上角動態規劃

穿過幽谷意味著離大魔王lemon已經無限接近了!可誰能想到,yifenfei在斬殺了一些蝦兵蟹將後,卻再次面臨命運大迷宮的考驗,這是魔王lemon設下的又乙個機關。要知道,不論何人,若在迷宮中被困1小時以上,則必死無疑!可憐的yifenfei為了去救mm,義無返顧地跳進了迷宮。讓我們一起幫幫執著的他...

python給pdf右上角蓋章

function 給pdf新增水印 公章 from pypdf2 import pdffilewriter,pdffilereader 所有路徑為絕對路徑 def add watermark pdf file in,pdf file mark,pdf file out pdf output pdff...