نوئل فرمی ایجاد کرد که شامل چند چک باکس است. وقتی کسی چک باکس را انتخاب می کند (به طوری که یک چک در آن ظاهر می شود)، می خواهد آن را "قفل" کند تا پس از آن تیک کادر را نتوان برداشت.
اگر از چک باکس های ActiveX در فرم خود استفاده می کنید، انجام این کار بسیار آسان است. تنها کاری که باید انجام دهید این است که به خاطر داشته باشید که وقتی بر روی جعبه چک کلیک می شود، یک رویداد برای آن چک باکس فعال می شود. بیایید بگوییم که چک باکس شما یک نام پیش فرض دارد، مانند CheckBox1. در این حالت، رویداد CheckBox1_Click() راه اندازی می شود. در کنترل کننده رویداد، می توانید تقریباً هر کاری را که می خواهید انجام دهید، از جمله اطمینان حاصل کنید که چک باکس علامت زده می شود.
Private Sub CheckBox1_Click()
MsgBox "ActiveX CheckBox1 Clicked"
If CheckBox1.Value = False Then CheckBox1.Value = True
End Sub
این رویکرد به این دلیل کار می کند که هر زمان که چک باکس کلیک می شود، ویژگی Value از چک باکس تغییر می کند. اگر آن را به False تغییر دهید (به این معنی که دیگر علامت زده نمی شود)، می توانید بلافاصله ویژگی Value را به True برگردانید (به این معنی که علامت زده شده است). این را می توان کمی به این شکل ساده کرد:
Private Sub CheckBox1_Click()
MsgBox "ActiveX CheckBox1 Clicked"
If Not (CheckBox1) Then CheckBox1 = 1
End Sub
در واقع، شما می توانید آن را حتی بیشتر از این راه ساده کنید:
Private Sub CheckBox1_Click()
MsgBox "ActiveX CheckBox1 Clicked"
CheckBox1 = True
End Sub