亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

#if Debug 不會使按鈕禁用如果不調試

#if Debug 不會使按鈕禁用如果不調試

C#
大話西游666 2021-06-28 15:48:54
在我的 wpf 應用程序中,我有一些按鈕,如果我在調試中,我希望它啟用我的意思是如果我通過 F5 運行我的應用程序。如果我不在調試中,我希望它被禁用,我的意思是 ctrl+F5XAML:<Button  x:Name="ArrowRight" IsEnabled="False"/>后面的代碼:public MyClass(){  InitializeComponent();  #if DEBUG    ArrowRight.IsEnabled = true;  #endif}但該按鈕始終處于啟用狀態,如果我運行 F5 甚至 ctrl+F5所以我試圖改變這一點:“發布”但如果我構建我的解決方案,它會告訴我缺少一些 Locator.dll如何#if Debug正確使用?
查看完整描述

2 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

F5Ctrl+F5獨立于調試/發布模式構建。

在頂部的下拉列表中,您可以選擇調試或發布配置。在調試模式下,定義了“DEBUG”符號,所以你的#if作品(里面的代碼被編譯)。在 Release 模式下,它沒有被定義,所以你的代碼行沒有被編譯。它甚至顯示為灰色。

F5 和 Ctrl+F5 都可以在選擇的任何配置下運行:F5 只是附加調試器,而 Ctrl+F5 則沒有。您可能會看到一條警告,提示您正在嘗試調試以發布模式構建的應用程序。

另請參閱此問題以檢測調試器。


查看完整回答
反對 回復 2021-07-10
?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

您正在正確使用調試指令;執行沒問題。


更正您在發布版本中遇到的任何“Locator.dll”問題,您可以確認這一點。


做F5或CTRL+F5沒有禁止構建 - 如果您在構建后運行時嘗試附加調試器并不重要,無論哪種方式,您仍然在 Debug 中構建。


或者,您可以在這里顛倒邏輯,看看它是否適用。


使按鈕默認啟用。


<Button  x:Name="ArrowRight" IsEnabled="True"/>

使用調試指令時禁用它


public MyClass()

{

  InitializeComponent();

  #if DEBUG

    ArrowRight.IsEnabled = false;

  #endif

}


查看完整回答
反對 回復 2021-07-10
  • 2 回答
  • 0 關注
  • 274 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號