Gunyeng 2020-08-21 16:58 采纳率: 0%
浏览 65

vb.net 如何实现每次使用变量时变量结果都会重载?

定义了某变量为组合按键判断,同时有N个过程或者函数进行了该变量的调用,如何确保每一次调用该变量时结果都是重载过后的结果,而不是一成不变的呢?

Public key As New Computer
    ''' <summary>
    ''' 是否按下Ctrl键
    ''' </summary>
    Public ctrl As Boolean = "ctrl".Key_OpenStart
    ''' <summary>
    ''' 是否按下Alt键
    ''' </summary>
    Public alt As Boolean = "alt".Key_OpenStart
    ''' <summary>
    ''' 是否按下Shift键
    ''' </summary>
    Public shift As Boolean = "shift".Key_OpenStart
    ''' <summary>
    ''' 判断当前是否按下了指定按键,如需要判断请调用ctrl、alt、shift三个变量,将直接得到相对应按键是否按下的结果。
    ''' </summary>
    ''' <typeparam name="T"></typeparam>
    ''' <param name="keyname"></param>
    ''' <returns></returns>
    <Extension>
    Public Function Key_OpenStart(Of T)(keyname As IEnumerable(Of T)) As Boolean
        Dim val As Boolean = Nothing
        Select Case $"{keyname}"
            Case "ctrl"
                val = key.Keyboard.CtrlKeyDown
                Exit Select
            Case "alt"
                val = key.Keyboard.AltKeyDown
                Exit Select
            Case "shift"
                val = key.Keyboard.ShiftKeyDown
                Exit Select
        End Select
        Return val
    End Function

上述ctrl、alt、shift为所定义的变量,N个变量调用如:if ctrl then。
目前每次调用都是固定结果,即只有加载时的一次结果:全是False。
需要如何写才能使每一次调用的结果都是当前的实际状态呢?

  • 写回答

1条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line