2013-02-14 107 views
-3

我有6个TextBox和6个CheckBox。现在我想用CheckBox1禁用TextBox1并使用同一个CheckBox重新激活它。 如何做到这一点?使用Visual Basic中的复选框启用和禁用TextBox

EDIT1 15.55 14/02/2013

我这样做,以解决我的问题!

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
If CheckBox1.Checked = True Then
TextBox1.Enabled = False
ElseIf CheckBox1.Checked = False Then
TextBox1.Enabled = True End If End Sub
`

+0

[你尝试过什么?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – AbZy 2013-02-14 14:09:46

+1

我不知道该怎么办!我发现这个http://www.mrexcel.com/forum/excel-questions/17383-activating-deactivating-textbox-checkbox-solved.html,但我不工作! – Simbox97 2013-02-14 14:13:34

+0

我们很乐意帮助初学者,但为了学习编程,您需要为初学者准备一本好书,并从那里开始。本网站的问答形式不是学习基础知识的理想方式。 – 2013-02-14 14:17:47

回答

4

这将工作,只需添加更多的其他复选框

Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged 
     If CheckBox1.Checked = True Then 
      TextBox1.Enabled = True 
     Else 
      TextBox1.Enabled = False 
     End If 
End Sub 

这里做的事情:如果checkbox1是检查,checked_changed事件火灾和里面的代码是跑。 if语句会查看复选框是否被选中。如果选中,则它将textbox1设置为启用,否则将其设置为禁用。确保在创建程序时将启用的属性设置为启用或禁用。如果您希望从一开始就启用它,那么这是默认的....否则将其设置为在其属性视图中禁用。

1
Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged 
    TextBox1.Enabled = CheckBox1.Checked 
End Sub 
0

如果你有一个内置的图层,你可以发送对象(因此隐藏的东西),这是有效的。我使用这种方式来使文本框和其他项目出现并消失,这取决于其他选择。

Private Sub checkbox_Click() 
    If (checkbox = True) Then 

    ActiveSheet.Shapes("textbox").ZOrder msoSendToFront 
    ActiveSheet.Shapes("textbox").ZOrder msoSendToFront 

    Else 

    ActiveSheet.Shapes("textbox").ZOrder msoSendToBack 
    ActiveSheet.Shapes("textbox").ZOrder msoSendToBack 

    End If 

End Sub 
0

这为我工作:

Public Class Form1 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 


     TextBox1.Enabled = False 

     If Not TextBox1.Enabled Then 
      TextBox1.BackColor = Color.White 
     End If 
    End Sub 
    Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged 
     If CheckBox1.Checked = True Then 
      TextBox1.Enabled = True 
     Else 
      TextBox1.Enabled = False 
     End If 
    End Sub 
End Class 
+0

没问题,但只有代码的答案通常是不被接受的。 – 2017-09-02 21:19:04

+0

好的,然后让 - 弗朗索瓦......我看着一个网站,并尝试该代码。但是发现它只用了一种与我想要的相反的方式。所以我做了更多的研究并找到了第一部分(第一部分)。它没有单独工作,所以我结合起来。我还没有太多的编码器。刚开始需要。谢谢。更好? – 2017-09-03 00:22:59