我需要你帮助部分锁定记录。这是换班时的情况,一个人开始一个记录,另一个人完成记录。一个人写的另一个不能改变,但必须完成一个记录。所以你必须只锁定填充的组合框和文本框。此代码通过单击NEZAVRSENE_INTERVENCIJE复选框锁定所有组合框和文本框以及2个复选框(NEZAVRSENE_INTERVENCIJE和IZMENA_RASKRSNICE)。假设我有组合框1 2和3以及文本框1 2和3,我只需要锁定已填充的组合框。我如何编码另一个复选框只锁定填充的控件?
由于
Private Sub NEZAVRSENE_INTERVENCIJE_AfterUpdate()
Dim ctrl As Control
If Me.NEZAVRSENE_INTERVENCIJE = -1 Then
For Each ctrl In Me.Controls
If (TypeOf ctrl Is TextBox) Or (ctrl Is NEZAVRSENE_INTERVENCIJE) Or (ctrl Is IZMENA_RASKRSNICE) Or (TypeOf ctrl Is ComboBox) Then
ctrl.Locked = True
End If
Next
Else
For Each ctrl In Me.Controls
If (TypeOf ctrl Is TextBox) Or (ctrl Is NEZAVRSENE_INTERVENCIJE) Or (ctrl Is IZMENA_RASKRSNICE) Or (TypeOf ctrl Is ComboBox) Then
ctrl.Locked = False
End If
Next
End If
End Sub
答案 0 :(得分:0)
尝试这样的事情。我正在使用Control.Tag属性对您要锁定的控件进行分组。
Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged
Dim ctrl As Control
For Each ctrl In Me.Controls
If Not IsNothing(ctrl.Tag) Then
If CInt(ctrl.Tag) = 1 Then
If ctrl.Text <> String.Empty Then
ctrl.Enabled = False
End If
End If
End If
Next
End Sub