我有一个包含列表框的表单。我正在尝试更改列表框的顺序。我尝试带前台或发回,但他们不在表单视图中工作。我找到了z index属性来安排它们的优先级。但是,以下代码无效。这是正确的方法吗?或者有没有其他方法可以使用或不使用代码来执行此操作?
Me.Controls.SetChildIndex (Me.List0 , Me.List1)
感谢您的帮助。
答案 0 :(得分:1)
docmd.RunCommand acCmdDesignView
forms("form1").Controls("text0").inselection=true
docmd.runcommand acCmdSendToBack '(or docmd.runcommand acCmdBringToFront)
docmd.RunCommand acCmdFormView
此外,Access 2016仍然不支持ZOrder。因此,我还没有学会编写单行代码的方法,将一个控件放在另外两个代码之间,我只是发送中间到后面,然后是背靠背,并将其扩展为许多控件必须重叠。
最后,即使你将{VBA用于ZOrder
,你的英语听起来也像forms("form1").Controls("text0").TabIndex=34
一样,这正如Olek所说,也很简单。
答案 1 :(得分:0)
不使用代码: 您可以通过右键单击任何控件并选择" Position"来更改z顺序。然后选择" Bring to Front"或"发送回。"
不幸的是,Access 不支持使用代码进行操作的ZOrder
方法。 Microsoft Forms 支持ZOrder
方法,当它出现在Access帮助中时会让人感到困惑。
当我重读您的问题时,我想知道您是否正在谈论标签订单。如果是这样,请右键单击并显示"属性,"选择"其他"选项卡,然后调整"标签索引"属性。另外,请确保" Tab停止"紧接在下面的属性设置为"是。"在代码中,您可以使用FormName.ControlName.TabIndex=0
将控件设置为第一个标签位置。
希望这有帮助!
参考:个人经历(和沮丧时间)