To improve usability, Mi-Forms client provides the ability to change pen color during data capture. However, in some situations disabling the native functionality of this feature and taking active control of pen colors is an important task to accomplish the business requirements around the form.
Consider a form that is routed in the workflow during its life cycle. At each queue, a specific color could be used to determine which user has edited the form.
There are two steps to accomplish this requirement. First, change the pen's color
<MiCode(FormScriptEventType.AfterOpen)> _ Public Sub Form_AfterOpen(ByVal e As AfterOpenEventArgs) If _Color.Value = "Blue" Then isScriptLogic = True Dim newPen As MiCo.MiForms.Pen = New MiCo.MiForms.Pen() newPen.Color = New MiCo.MiForms.Color(System.Drawing.Color.Blue) _component.CurrentPen = newPen End If End Sub
Second, prevent the user from changing pen color on the form
<MiCode(FormScriptEventType.BeforePenChange)> _ Public Sub Form_BeforePenChange(ByVal e As BeforePenChangeEventArgs) If isScriptLogic = False Then e.Cancel = True Else isScriptLogic = False End If End Sub
isScriptLogic is a boolean variable that can be used to determine if the pen color change event can be raised by scripting or by user.