找回密码
 立即注册

QQ登录

只需一步,快速开始

sxyweiren

中级会员

73

主题

366

帖子

755

积分

中级会员

积分
755

活字格认证微信认证勋章

sxyweiren
中级会员   /  发表于:2017-7-19 14:32  /   查看:12701  /  回复:21
现有的系统里面,如果GcClassicFunctionKey的FunctionKeyPress事件里面,弹出了一个MSG或者有一个画面表示后自动关闭。
那么FunctionKey的对应的Button的表面会有高亮色显示。
而单纯的逻辑处理则不会出现这样的问题。
问怎么规避这个自动选择?
另外,不希望消除按钮压下的选择效果。
比如我键盘压下F6的时候,希望F6是有颜色显示的,但是F6放开的时候,处理完成希望没有选择效果。

另外,做了一个Demo,给传上去了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

21 个回复

倒序浏览
Leo
超级版主   /  发表于:2017-7-19 16:41:22
沙发
不是特别的明白,你是想说,如果用鼠标按下F6,弹完Message Box之后F6还是按下状态?
疑似我在Win10 上没有重现你说的问题。
回复 使用道具 举报
Leo
超级版主   /  发表于:2017-7-19 16:43:57
板凳
  1.    Private Sub GcClassicFunctionKey_FunctionKeyPress_1(sender As Object, e As GrapeCity.Win.Bars.FunctionKeyPressEventArgs) Handles GcClassicFunctionKey1.FunctionKeyPress
  2.         Select Case e.KeyIndex
  3.             Case 4
  4.                 Console.WriteLine("1")
  5.                 'MsgBox("1")
  6.             Case 5
  7.                 MsgBox("1")

  8.                 'Try this........
  9.                 Me.GcClassicFunctionKey1.AllowButtonEffect = False
  10.                 Me.GcClassicFunctionKey1.AllowButtonEffect = True

  11.         End Select
  12.     End Sub
复制代码


虽然我没有重现你说的问题,瞎猜的这么搞可能有效果。死马当活马医一下试试看。不行咱们在想辙
回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2017-7-19 16:59:12
地板
点击前后的状态发生了变化。
希望没有那个F6的选中状态。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2017-7-20 08:25:02
5#
Leo 发表于 2017-7-19 16:41
不是特别的明白,你是想说,如果用鼠标按下F6,弹完Message Box之后F6还是按下状态?
疑似我在Win10 上没 ...

在你的机器上没有这种现象么?
我的Win10怎么是这样的?这种状态受环境设定的影响么?我的Demo也不会这样么?
回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2017-7-21 14:42:35
6#
Leo 发表于 2017-7-19 16:43
虽然我没有重现你说的问题,瞎猜的这么搞可能有效果。死马当活马医一下试试看。不行咱们在想辙

这个解决方法不好使。
你那边还是没再现么?是不是我Demo属性设的不对?
回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2017-7-28 15:10:00
7#
斑竹,有结果了么
回复 使用道具 举报
Leo
超级版主   /  发表于:2017-7-31 09:54:38
8#
sxyweiren 发表于 2017-7-28 15:10
斑竹,有结果了么

疑似我理解你到底碰到什么问题了。
试试看这个代码。
  1.     Private Sub GcClassicFunctionKey1_MouseMove(sender As Object, e As MouseEventArgs) Handles GcClassicFunctionKey1.MouseMove
  2.         Dim bounds = New Rectangle(Point.Empty, Me.GcClassicFunctionKey1.Size)
  3.         If Not bounds.Contains(e.Location) Then
  4.             Me.GcClassicFunctionKey1.Enabled = False
  5.             Me.GcClassicFunctionKey1.Enabled = True
  6.         End If
  7.     End Sub
复制代码
回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2017-8-1 09:19:01
9#
Leo 发表于 2017-7-31 09:54
疑似我理解你到底碰到什么问题了。
试试看这个代码。

好像还是不能解决问题。
2017/07/31 解决案 代码

1、画面启动

2、按下键盘上的F5,按钮F5上面,高亮闪了一下

3、按下键盘上的F6,按钮F6上面,高亮闪了一下


4、Msg画面关闭之后,F6按钮上,高亮色保持住了。

5、上面的那个解决案并不能解决问题啊

另:根据这个对应方案,因为有设定「Dim bounds = New Rectangle(Point.Empty, Me.GcClassicFunctionKey1.Size)」,
导致这个边界起点是(0,0),所以猜测基本不会出现Enabled=False的情况。
综上所述,还是没能解决这个蓝色清掉的动作。






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Leo
超级版主   /  发表于:2017-8-2 13:46:45
10#
按照你的描述,你所碰到的问题是和键盘按下F6有关?我之前理解的是你用鼠标操作。其实在我本机没有重现这个问题。能跟你确认一下PlusPak你所使用的版本的版本号吗?我本机应当使用的是v10.0
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部