none
關於 VB.Net 的小問題 RRS feed

  • 問題

  • 請教各位大大,

     

      弟希望切換 Debug/Release 組態時, 讓表單上的某個文字方塊可顯示不同的

      預設資訊, 所以在 Form1.Designer.vb 檔案的 InitializeComponent() 中, 加入

    #If DEBUG

      Me.TextBox1.Text = "abc"

    #Else

      Me.TextBox1.Text = "123"

    #End If

      結果不知怎麼回事, 在多次的組態切換與編譯後, 這段語法被還原成只有

      Me.TextBox1.Text = "xxx" -> xxx 為 abc 或 123, 通常會被回復成 Debug 組態

      的預設值

     

      盼各位大大不吝指教

    2007年5月18日 上午 06:26

解答

  • HI,

     

    如果您是自行修改*.designer.vb檔案的內容, 在設定控制項的屬性之後, 的確會影響您所做的修改, 這是正常的現象

     

    tihs

    • 已標示為解答 夢遊 2010年1月21日 上午 11:32
    2007年5月22日 上午 06:17

所有回覆

  • HI,

     

    重建-REBUILD專案(不要只做一般的建置)可以得到正確的結果嗎?

     

    tihs

    2007年5月18日 下午 02:26
  • 小弟一直以來都使用 rebuild solution 的方式, 當然在 design time 時, 都是直接 run 看結果

    因為一開始寫了 #If DEBUG #else #End If, 以為今後就可以讓偵錯版本與正式版本的使用者介面上有不同的預設值

    沒想到不知從哪個動作開始, VS2005 竟只留下 Debug 組態定義的預設值, 連 #If DEBUG #else #End If 的語法都不見了

    2007年5月19日 上午 03:04
  • HI,

     

    那您可以再加入一次#else與#endif看看, 如果不會消失, 就不是不小心誤砍的

     

    tihs

    2007年5月21日 上午 01:18
  • 我試了一種可能性, 就是當我寫好 #If DEBUG #Else #End If時, 回到表單 Form.vb [design] 視窗, 在該文字方塊的屬性視窗重設一次Text屬性的內容後, VS2005就會把#If DEBUG的語法清除掉了, 想來這也是正常的, 也許我是因為不小心再設定過Text屬性才會這樣, 那麼針對這點, 必需得小弟自己小心一點呢? 亦或是有更好的解決方案, 例如我可以自訂 IDE 對於自動安插語法的規則
    2007年5月21日 上午 09:50
  • HI,

     

    如果您是自行修改*.designer.vb檔案的內容, 在設定控制項的屬性之後, 的確會影響您所做的修改, 這是正常的現象

     

    tihs

    • 已標示為解答 夢遊 2010年1月21日 上午 11:32
    2007年5月22日 上午 06:17