VB复选框里,当打钩复选框则在文本框输出文字,当取消勾选则去掉之前输出的文字。应该怎么编写?
4个回答
展开全部
上面是选择的情况
上面是清除后的情况
Private Sub Check1_Click(Index As Integer) '注意:这是数组控件
Dim SS As Integer
SS = Check1(Index).Index
If Check1(SS).Value = 1 Then
Text1.Text = Text1.Text & ", " & Check1(SS).Caption
'如果这里不输入控件标题,可以将输入的内容提前存储在数组变量中,在这里调用数组变量即可。下面清除一样。
ElseIf Check1(SS).Value = 0 Then
Text1.Text = Replace(Text1.Text, ", " & Check1(SS).Caption, "")
End If
End Sub
Private Sub Form_Load()
Text1.Text = "原先输入的文字"
End Sub
更多追问追答
追答
语法错误,应该是这样:shuru.Text = Replace(shuru.Text, ", " & Check1(SS).Caption, "")Replace函数的括号内是:(第一部分是需要检测的字符串,这里是在shuru.Text里检测,然后是逗号,第二部分是在第一部分中需要替换的字符串,再逗号,第三部分是需要替换成的字符串)在此例中:shuru.Text是第一部分,是文本框显示的内容。", " & Check1(SS).Caption是第二部分,", "是添加的逗号,Check1(SS).Caption是名称,由于都是字符串,所以使用 & 符号连接。"" 是第三部分,意思是将", " & Check1(SS).Caption替换为空格。明白了吗?
展开全部
Private Sub Check1_Click()
If Check1.Value = 1 Then
Text1.Text = "输出的文字"
Else
Text1.Text = ""
End If
End Sub
或者
Private Sub Check1_Click()
Text1.Text = IIf(Check1.Value = 1, "输出的文字", "")
End Sub
更多追问追答
追问
高手,你这个编译我是写出来了的,问题是,当我取消选中的勾的时候,怎么样将我之前输出的文字一起清除掉。而不是我反复按复选框,会一直出现一大串重复文字
追答
你的文本框里的文字究竟是手工输入的还是由软件自动输出的?方便的话能把你的代码给我看看吗?部分即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
勾选时文体框输出文字且能正常输入文字,不勾选时清空文本框且文本框不可输入文字:
Private Sub Check1_Click()
Dim a As Long
a = Check1.Value
If a = 1 Then
Text1.Text = "输出文字"
Text1.Enabled = True
Else
Text1.Text = ""
Text1.Enabled = False
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个API
SendMessage和SetWindowsText
private sub check1_click()
if check1.value=1 then
SetWindowsText(text1.handle, byval strText);
else
SendMessage(text1,handle,WM_UNDO,0,0);
end if
end sub
SendMessage和SetWindowsText
private sub check1_click()
if check1.value=1 then
SetWindowsText(text1.handle, byval strText);
else
SendMessage(text1,handle,WM_UNDO,0,0);
end if
end sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询