作者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/cn.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