作者KawasumiMai (全力全壊)
看板Visual_Basic
標題[.NET] KeyUp問題
時間Tue Mar 3 15:49:37 2015
VB.net
原本只是純粹簡單想寫一個"全畫面"(not全螢幕)容器
結果沒想到遇到瓶頸= =
Code在此
http://chopapp.com/#sgv82k2
簡單的說
Ctrl+Enter 可以切換邊框跟無邊框
Alt+Enter 可以切換全畫面跟視窗
(全畫面的意思:不進入全螢幕模式,只是純粹把視窗無邊框化並填滿畫面,可切換視窗)
bFullSreen:紀錄狀態是否全畫面中
bShowBorder:紀錄全畫面前的邊框狀態
bToogle:紀錄按鍵狀態,後述
bChangeWithKey:判定是否因快速鍵而啟動SizeChanged事件
(命名很爛而且寫得很亂)
**
1.首先雖然有用 pWindowSize 紀錄全畫面前的視窗大小
但因為 SizeChanged 事件的啟動時機對KeyDown的先後順序微妙
加上修改 FormBorderStyle 好像也會動到 SizeChanged
所以變成原本 pWindowSize 會在恢復視窗前再次紀錄 Me.Size
所以才在前後包夾 bChangeWithKey 並用他當判斷標準(原本是 bFullScreen )
不知道有沒有更好的寫法...感覺頗蠢的
2.這次主要的問題,是 MyBase.KeyUp 沒反應
主要是想解決按住不放會快速來回狀態的問題,所以加了bToogle當Flag
但沒想到 MyBase.KeyUp 沒反應導致bToogle根本不會回復,變成只有一次改變機會
上網找了一下需要修改 Me.KeyPreview 為True
但還是沒有改善這個情況
請問何解?
--
▌ ◥ ▏
▊\\ ▃▆▄▆ ▁ ◣///◤
「キミの瞳に映る、
▂▄▆▁▃▂▁◢ ◣ ▆◣ ○
わたしは何色ですか。」
◤ ◢▇▆▅▅▆▇ ◣ ◣ \\
▂▁◢◣ ◢
█
▅◣◥ ◤`○_
SUARA~『キミガタメ』
◥▋ ◣ γ ◢
▉
◤◢ / / ㄥ
http://youtu.be/W1-uDDt7UDM
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.157.241
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1425368980.A.C68.html
※ 編輯: KawasumiMai (60.251.157.241), 03/03/2015 15:50:33
1F:推 terence362: 開新專案用你的code,沒什麼問題呀?你的問題是? 10/12 22:26