我有一个问题,我认为与this problem有关。我有很多标签控件。其中一些变得“怪异”,并开始展示一个奇怪的“额外的大胆”显示:
这些标签具有相同的格式,但显然具有不同的可视化表示。
在查看两个标签的属性后,我注意到一些非常奇怪的事情:它们具有不同的属性。实际上,断开的标签属性部分不显示HyperLink属性,也不显示事件上的操作。
事实上,当我查看它时,“事件”属性表实际上是空的。
我很困惑这里发生了什么。我想要一种方法来修复这些控件,最好使用VBA,这样我就可以添加一个程序修复来更新所有损坏的标签。
令我惊讶的是,以下代码有效:
Application.Forms(gMananger_FormName).controls("Label13").HyperlinkAddress=""
我期待某种错误,因为那些标签没有显示出这种控制。
我也试过Compact / Repair无济于事。在上面的链接中建议,也没有在Access选项中关闭ClearType。
我还编写了以下代码来复制/添加一个新控件但是当控件位于制表符空间时它会完全中断(它插入一个新行但不删除该行,如果我花费更多,也许我可以修复它时间,我担心如果我这样做会意外删除大量的表格控件。
Sub testCopyingControl()
Dim c
Dim i As Integer, key
Dim prop As Scripting.Dictionary
Set prop = New Scripting.Dictionary
Set c = Application.Forms(gMananger_FormName).Controls("Label3120")
For i = 0 To c.Properties.count - 1
prop.Add c.Properties(i).Name, c.Properties(i).value
Next i
Dim newC As Label
Set newC = CreateControl(gMananger_FormName, acLabel)
DeleteControl gMananger_FormName, c.Name
'there are a fair number of readonly properties unfortunately...
On Error Resume Next
For Each key In prop.Keys
Debug.Print key & vbTab & prop(key)
newC.Properties(key) = prop(key)
Next key
End Sub
我也可以通过剪切/粘贴并将标签移回其网格位置来单独修复此问题。然而,这是很多工作,因为我有很多控件这样做。