none
當 Form 字型大小 與 UserControl 字型大小不同的情況下, 會引起複製後的 UserControl 大小變化 RRS feed

  • 問題

  • 目前在2台不同的PC環境下是可重現的

     

    建一個 Window Form (Form1)

    把 Form1 字型大小調成 12 (預設為9)

    加入 UserControl (UC1)

    點選 UC1 後, 複製 & 貼上 成為一個新的 UserControl (UC2)

    這時UC2的大小會比UC2還大, 而不會是跟UC1完全一樣

    如果是把字型大小調成 8, 砍掉 UC2 重新複製一次

    那反而是會變小

    如果再從 UC2 複製成 UC3, 那一樣會持續縮小

     

    請問這狀況是正常的嗎 ? 還是有 MSDN 可以參考?

     

    OS: W7 X64 旗艦 (所有window & VS 更新都有安裝)

    VS 2010 版本 : 4.0.30319.1

    .Net Frame 版本 : 4.0.30319

    2011年9月23日 上午 05:52

解答

  • 看到了啦! 這個討論區本身就可以放圖了啦!

    會自動長大是因為您的userControl有個 AutoScaleMode (決定當螢幕解析度或字型變更時,表單或控制項將如何縮放)

    它的預設值是Font,如果你不想隨著長大,您就將它改成 None!

    如下圖,


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/
    • 已提議為解答 冰糖旋風 2011年10月3日 上午 09:17
    • 已標示為解答 阿努米斯 2011年10月6日 下午 02:59
    2011年10月3日 上午 01:42

所有回覆

  • 如果您usercontrol都沒有設定過字型的話,會用parent的字型! 也就是form的字型哦!

    如果是有assign過的話,就會用userControl的字型大小哦!

    您可以看一下usercontrol.Designer.cs

    您說的會比form還大會更小,我卻試不出呢? 我是VS2010 C# Express Sp1


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/
    2011年9月23日 上午 07:53
  • 如果您usercontrol都沒有設定過字型的話,會用parent的字型! 也就是form的字型哦!

    如果是有assign過的話,就會用userControl的字型大小哦!

    您可以看一下usercontrol.Designer.cs

    您說的會比form還大會更小,我卻試不出呢? 我是VS2010 C# Express Sp1


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    我是用預設字型

    然後不是比form 大啦 XD

    是被複製後的 UserControl (UC2) ,會變的比複製的來源 UC1 還大

     

    這是測試CODE

    http://www.badongo.com/file/25772296

    你看看可不可以開

    2011年9月23日 上午 10:33
  • 有看到檔案資訊,請問要如何下載呢?
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/
    2011年9月29日 上午 01:42
  • 我自己看到問題要去便當狗抓檔的,我都會跳過。

    我是招誰惹誰?看問題還要自作孽... 慢慢等、看他廣告、甚至有可能中獎... 肖ㄟ~


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年9月29日 下午 03:08
  • 我自己看到問題要去便當狗抓檔的,我都會跳過。

    我是招誰惹誰?看問題還要自作孽... 慢慢等、看他廣告、甚至有可能中獎... 肖ㄟ~


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    很抱歉, 在這點上冒犯了你

    因為整個CODE很多,

    我的文筆能力不足以完全的表達我所遇到的問題

    也只能想到放在免空上給人抓Source code 才能最直觀的了解問題

     

     

    2011年9月29日 下午 03:15
  • 有看到檔案資訊,請問要如何下載呢?
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    怪怪的, 抓不下來 <囧"

    其實程式碼也沒什麼, 就跟我一開始寫的方式一樣

    就是開一個新專案

    加入一個UserControls

    然後存檔後complier

    就可以在工具箱內看到 UserContorls

    拖放到 Form 上後

    把Form的字體從9 改成12 

    接下來點選 userControl1

    Ctrl + s, Ctrl + v 複製成 userControl2

    這時就會看到 userContorl2 的大小比 userControl1 還大

    如果是把字體從9調成8

    重復複製的動作, 那 userControl2 則會變小

     

    想不出有什麼方法可以解這個問題...

    2011年9月29日 下午 03:24
  • 也只能想到放在免空上給人抓Source code 才能最直觀的了解問題  

    http://skydrive.live.com/

     

    不是冒不冒犯的問題,而是提問者應該自己想辦法讓網友有意願回文。

    當你增加網友麻煩時,跳過是多數人的選擇。

     

    如果你今天到 一些提供原始碼的網站例如 codeproject 看文,除非你剛好對那個原始碼有興趣,否則一般直接就跳過去,不會特別下載原始碼。

    回文去下載原始碼的動力更低,想要獲得別人的回應,自己要做 clear code 的動作。

    比如說先把你的專案另外拷貝一份,開始砍 UserControl 跟你專案中不相關的原始碼,到剩下最小內容,這時大概剩不了幾行,一方面你可以貼出這少少的程式碼進行討論,另一方面,通常你把原始碼刪減的過程中,你就會發現問題所在。

    不然就算有人願意下載,也不見得有人願意細看一堆不知道幹嘛的程式碼。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年9月29日 下午 04:01
  • 那能否有個圖比較能了解呢? Thanks!
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/
    2011年9月29日 下午 04:34
  • 那能否有個圖比較能瞭解呢? Thanks!
    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    https://skydrive.live.com/?cid=ED50E5A25B42EB08&id=ED50E5A25B42EB08%211324&sc=photos

    不知道您醬能不能看到 :D

     

    我的動作都只有複製 & 貼上, 沒去調整過任何屬性

    就會發生自動調整Size的情況

    2011年9月30日 上午 11:18
  • 看到了啦! 這個討論區本身就可以放圖了啦!

    會自動長大是因為您的userControl有個 AutoScaleMode (決定當螢幕解析度或字型變更時,表單或控制項將如何縮放)

    它的預設值是Font,如果你不想隨著長大,您就將它改成 None!

    如下圖,


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/
    • 已提議為解答 冰糖旋風 2011年10月3日 上午 09:17
    • 已標示為解答 阿努米斯 2011年10月6日 下午 02:59
    2011年10月3日 上午 01:42
  • 看到了啦! 這個討論區本身就可以放圖了啦!

    會自動長大是因為您的userControl有個 AutoScaleMode (決定當螢幕解析度或字型變更時,表單或控制項將如何縮放)

    它的預設值是Font,如果你不想隨著長大,您就將它改成 None!

    如下圖,


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    哦哦哦 果然是這個原因

    感謝亂馬客大大!! :D

    2011年10月6日 下午 03:00