【问题标题】:Set Document ( form ) - EditMode to false将 Document ( form ) - EditMode 设置为 false
【发布时间】:2012-08-22 07:30:40
【问题描述】:

我想把一个表单(文档)放到 EditMode = false;因此,当打开表单时,我希望在按下放置文档的按钮之前不能修改任何字段等。在 EditMode = true。

我的代码是这样的:

子初始化 Dim ws 作为新的 NotesUIWorkspace Dim uidoc As NotesUIDocument 将文档变暗为 NotesDocument 设置 uidoc = ws.CurrentDocument '设置 doc = uidoc.Document

uidoc.EditMode = False

结束子

我选择在Form的Initialize方法中编码...

但它不起作用,它给了我这样的消息:“文档命令不可用”。请帮忙,我将不胜感激,谢谢。

【问题讨论】:

标签: lotus-notes


【解决方案1】:

一般来说,Initialize 事件不应在表单中使用。造成这种情况的一个原因是,在 Initialize 运行时,表单不一定已完成所有内容的加载。

此代码应放在 QueryOpen 事件中。

另一个最佳实践是不使用 NotesWorkspace.CurrentDocument 来获取当前表单的句柄,而是使用传递给 QueryOpen 事件的 Source 参数。 NotesWorkspace.CurrentDocument 应该只用于代理和其他表单尚未在上下文中的地方。在当前文档已经在上下文中时调用 NotesWorkspace.CurrentDocument 可能会导致 Notes 出现奇怪的行为。

下面是一些应该可以工作的代码:

Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
    If (Not Source Is Nothing) Then Source.EditMode = False
End Sub

【讨论】:

    猜你喜欢
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 2021-03-22
    • 2012-08-10
    • 2017-01-18
    相关资源
    最近更新 更多