请前辈们帮忙解决下面的VB.NET问题?

egg_white 2010-05-03 06:08:31
在窗体中设置了两个textbox文本框和一个按钮button,下面请前辈们看看以下这些窗体form中的代码:
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text <> "0" Then
TextBox2.Enabled = False
TextBox2.Text = "0"
End If
End Sub

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
If TextBox2.Text <> "0" Then
TextBox1.Enabled = False
TextBox1.Text = "0"
End If
End Sub

Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click
TextBox1.Enabled = True
TextBox2.Enabled = True
TextBox1.Text = ""
TextBox2.Text = ""

End Sub

我本想实现单击按钮button能清除和恢复textbox1和textbox2文本框的内容和可用性,可是运行后在任意一个文本框中输入数字后单击button按钮却没有使两个textbox都恢复原样!就如我在textbox1中输入520,textbox2不能用了,点击按钮可textbox2还是不能用哈!请前辈们帮忙解决下哦,非常感谢了!
...全文
102 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
egg_white 2010-05-15
  • 打赏
  • 举报
回复
非常感谢xingyuebuyu了哦!问题已经因此得到解答!

最近出门了,没有及时来看大家的帮助,抱歉了!
xingyuebuyu 2010-05-03
  • 打赏
  • 举报
回复
Public Class Form1

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If flag = False Then
If TextBox1.Text <> "0" Then

TextBox2.Enabled = False
TextBox2.Text = "0"
End If
End If
End Sub

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
If flag = False Then
If TextBox2.Text <> "0" Then
TextBox1.Enabled = False
TextBox1.Text = "0"
End If
End If
End Sub

Dim flag As Boolean = False
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
flag = True
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Enabled = True
TextBox2.Enabled = True
flag = False
End Sub
End Class
egg_white 2010-05-03
  • 打赏
  • 举报
回复
没人了吗???
egg_white 2010-05-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yuanhuiqiao 的回复:]
应该是你Button_Click事件中设定Text值时又触发了TextChanged事件。你可以加个Flag控制一下,如果是Click时触发的Chang事件,直接无视。
[/Quote]

不懂怎么Flag控制哦,能详细说明下吗?谢谢
yuanhuiqiao 2010-05-03
  • 打赏
  • 举报
回复
应该是你Button_Click事件中设定Text值时又触发了TextChanged事件。你可以加个Flag控制一下,如果是Click时触发的Chang事件,直接无视。
egg_white 2010-05-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ly302 的回复:]
VB.NET code
TextBox1.Enabled = True
TextBox2.Enabled = True
TextBox1.Text = ""
TextBox2.Text = ""


内容改为:



VB.NET code
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Enabl……
[/Quote]

我按你意思改了,可是运行促发click事件两个textbox的enable还是不能全部恢复哦?怎么回事?
皇城龙三 2010-05-03
  • 打赏
  • 举报
回复
 TextBox1.Enabled = True
TextBox2.Enabled = True
TextBox1.Text = ""
TextBox2.Text = ""


内容改为:

 TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Enabled = True
TextBox2.Enabled = True


或者改为:

TextBox1.Enabled = True
TextBox2.Enabled = True
TextBox1.Text = "0"
TextBox2.Text = "0"


否则你都没有让Enabled激活的前提
renchuang 2010-05-03
  • 打赏
  • 举报
回复
在Button_Click中
改写为
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.Enabled = True
TextBox2.Enabled = True


End Sub

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧