偶尔会出现菜单失效的问题,有时候等一会能好,有时候一直失效,可能是什么原因导致的?生成项目后的用户菜单这样,我切换回咱们foxtable的自身算单也是一样
1、代码里有没有调用了SystemReady = False?
2、有没有什么计划管理等计时器在执行什么操作?
计划管理理有,就是Ukey检测。
If UKey.Encrypt1("") <> "" Then
DataTables.AllowEdit = False
'所有表都变为只读
For Each rb As RibbonMenu.Tab In RibbonTabs
rb.Enabled = False
Next
QAT.Enabled = False
ConfigBar.Enabled = False
ApplicationMenu.Enabled = False
'所有菜单都禁止使用
End If
[此贴子已经被作者于2025/4/15 16:46:56编辑过]
另外在菜单的Systemldle里,放入了以下代码:
StatusBar.Message3 = "当前用户:" & _UserName & " " & Date.Now
'当前时间
Static Undo As RibbonMenu.Button
Static Redo As RibbonMenu.Button
If Undo Is Nothing Then
Undo = QAT.Items("Undo")
Redo = QAT.Items("Redo")
End If
If CurrentTable.CanUndo Then
If Undo.Enabled = False Then Undo.Enabled = True
Else
If Undo.Enabled Then Undo.Enabled = False
End If
If CurrentTable.CanRedo Then
If Redo.Enabled = False Then Redo.Enabled = True
Else
If Redo.Enabled Then Redo.Enabled = False
End If
'以上代码用于更新快速访问栏中的"撤销"和"重做"按钮的状态,如果按钮已经改名或者移到别的功能区,请对应地修改此段代码
Static OpenQQ As RibbonMenu.Button
Static LastTime As Date
If OpenQQ Is Nothing Then
OpenQQ = ConfigBar.Items("OpenQQ")
End If
Dim txt As String = "在线沟通"
If QQClient.Ready
If QQClient.UnreadCount > 0 Then
txt = txt & "(" & QQClient.UnreadCount & "条)"
End If
End If
If OpenQQ.Text <> txt Then
OpenQQ.Text = txt
End If
If OpenQQ.Text <> "在线沟通" Then
Dim ntp As timeSpan = Date.Now - LastTime
If ntp.TotalSeconds >= 0.5 Then
LastTime = Date.Now
If OpenQQ.ForeColor = Color.Red Then
OpenQQ.ForeColor = Color.Transparent
Else
OpenQQ.ForeColor = Color.Red
End If
End If
End If
我上面的代码没问题吧,Ukey的话我这买过好多了,有的电脑很少出现,有的电脑上经常出现
对插口没有什么要求。改改代码,比如把菜单禁掉的代码改为直接弹窗提示然后退出项目,重新发布放到经常出问题的电脑测试一段时间看看
注意把把发布后的程序设置为“使用管理员身份运行”