sxyweiren 发表于 2017-7-19 14:32:32

GcClassicFunctionKey的Key的选择问题

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

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

Leo 发表于 2017-7-19 16:41:22

不是特别的明白,你是想说,如果用鼠标按下F6,弹完Message Box之后F6还是按下状态?
疑似我在Win10 上没有重现你说的问题。

Leo 发表于 2017-7-19 16:43:57

   Private Sub GcClassicFunctionKey_FunctionKeyPress_1(sender As Object, e As GrapeCity.Win.Bars.FunctionKeyPressEventArgs) Handles GcClassicFunctionKey1.FunctionKeyPress
      Select Case e.KeyIndex
            Case 4
                Console.WriteLine("1")
                'MsgBox("1")
            Case 5
                MsgBox("1")

                'Try this........
                Me.GcClassicFunctionKey1.AllowButtonEffect = False
                Me.GcClassicFunctionKey1.AllowButtonEffect = True

      End Select
    End Sub

虽然我没有重现你说的问题,瞎猜的这么搞可能有效果。死马当活马医一下试试看。不行咱们在想辙

sxyweiren 发表于 2017-7-19 16:59:12

点击前后的状态发生了变化。
希望没有那个F6的选中状态。

sxyweiren 发表于 2017-7-20 08:25:02

Leo 发表于 2017-7-19 16:41
不是特别的明白,你是想说,如果用鼠标按下F6,弹完Message Box之后F6还是按下状态?
疑似我在Win10 上没 ...

在你的机器上没有这种现象么?
我的Win10怎么是这样的?这种状态受环境设定的影响么?我的Demo也不会这样么?

sxyweiren 发表于 2017-7-21 14:42:35

Leo 发表于 2017-7-19 16:43
虽然我没有重现你说的问题,瞎猜的这么搞可能有效果。死马当活马医一下试试看。不行咱们在想辙

这个解决方法不好使。
你那边还是没再现么?是不是我Demo属性设的不对?

sxyweiren 发表于 2017-7-28 15:10:00

斑竹,有结果了么

Leo 发表于 2017-7-31 09:54:38

sxyweiren 发表于 2017-7-28 15:10
斑竹,有结果了么

疑似我理解你到底碰到什么问题了。
试试看这个代码。
    Private Sub GcClassicFunctionKey1_MouseMove(sender As Object, e As MouseEventArgs) Handles GcClassicFunctionKey1.MouseMove
      Dim bounds = New Rectangle(Point.Empty, Me.GcClassicFunctionKey1.Size)
      If Not bounds.Contains(e.Location) Then
            Me.GcClassicFunctionKey1.Enabled = False
            Me.GcClassicFunctionKey1.Enabled = True
      End If
    End Sub

sxyweiren 发表于 2017-8-1 09:19:01

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的情况。
综上所述,还是没能解决这个蓝色清掉的动作。






Leo 发表于 2017-8-2 13:46:45

按照你的描述,你所碰到的问题是和键盘按下F6有关?我之前理解的是你用鼠标操作。其实在我本机没有重现这个问题。能跟你确认一下PlusPak你所使用的版本的版本号吗?我本机应当使用的是v10.0
页: [1] 2 3
查看完整版本: GcClassicFunctionKey的Key的选择问题