在開發控件時,是否有人找到針對DesignMode問題的有用解決方案?問題是,如果您嵌套控件,則DesignMode僅適用于第一級。第二和較低級別的DesignMode將始終返回FALSE。標準的技巧是查看正在運行的進程的名稱,如果它是“ DevEnv.EXE”,那么它必須是studio,因此DesignMode確實為TRUE。這樣做的問題是尋找ProcessName在注冊表和其他奇怪的部分中工作,最終結果是用戶可能沒有查看進程名稱所需的權限。此外,這條奇怪的路線非常慢。因此,我們不得不堆積更多的駭客才能使用單例,并且如果在詢問進程名稱時拋出錯誤,則假定DesignMode為FALSE。確定DesignMode的一種好方法是按順序進行的。最終讓Microsoft將其內部修復到框架中會更好!
3 回答

鴻蒙傳說
TA貢獻1865條經驗 獲得超7個贊
為什么不檢查LicenseManager.UsageMode。此屬性的值可以為LicenseUsageMode.Runtime或LicenseUsageMode.Designtime。
您是否要讓代碼僅在運行時中運行,請使用以下代碼:
if (LicenseManager.UsageMode == LicenseUsageMode.Runtime)
{
bla bla bla...
}
- 3 回答
- 0 關注
- 561 瀏覽
添加回答
舉報
0/150
提交
取消