Windows Mobile Form Automatic Scrollbar

來源:互聯網
上載者:User
 從.Net Compact Framework 2.0開始, Form裡面有一個bool類型的新的property, 用來制定是否在控制項超出客戶區的時候需要Form自動添加一個scroll來做滾動。
但是最近碰到的是如果在.net cf 1.1裡面使用這個vScrollbar。還
是和億萬次犯錯誤一樣,每次都覺得這樣的小問題不會是問題,但是實際上就問題來了(看起來每次工作的時候一定要戰戰兢兢,如履薄冰啊:))
在initComponent之後,建立了一堆控制項添加到Form,當然位置肯定超出螢幕了。Debug一看,恩還不錯,
小小調整了一把LargeChange和SmallChange以後基本上就work了。 但是! 但是!
調整到Landscape模式的時候赫然看到的是2個vScrollbar。一
下子昏倒了,怎麼會這樣呢,難道,難道,想了很多的可能行都難以說服自己。後來看了網上的很多評論才知道原來在ppc2003的時候由於曆史原因,系統會
自動給你調整添加一個vScrollbar,這才看到了2個scrollbar。 詭異的很,怎麼辦呢?MSDN上的高人給出瞭解決方案:
GetWindowLong
然後SetWindowLong保證那個style不是什麼什麼scroll就可以了 style &= ~(WS_VSCROLL | WS_HSCROLL);但是我還是找不到要放在什麼合適的地方。。。 總之就是還不工作!
最後沒辦法了,乾脆new了一個Panel,設定大小和ClientSize一樣,然後所有的控制項統統扔在這個裡面,這個世界終於清靜了。熟練的加上那個keyDown, 用來複雜focus的切換。大功告成。
但是,又來了一個但是。在Smartphone上實驗的時候發現他根本不給我拿到KeyDown的機會。所有的焦點切換系統都會給我做。原來的根據KeyDown來切換焦點,調整vScrollbar的value的策略不罩了。沒辦法只好偵聽所有的focus拿到的情況,根據focus的位置來調整vScrollbar的value,等於原來的策略正好反過來了!!
唉,前前後後折騰了2天終於把這個東西搞定了, 真不知道這個Form裡面還有多少未知的奧秘,更不知道什麼時候能直接調整到.Net CF 2.0開發,神啊救救我吧
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.