中易网

VB复选框里,当打钩复选框则在文本框输出文字,当取消勾选则去掉之前输出的文字。应该怎么编写?

答案:4  悬赏:70  
解决时间 2021-01-15 21:12
  • 提问者网友:送舟行
  • 2021-01-15 15:26
VB复选框里,当打钩复选框则在文本框输出文字,当取消勾选则去掉之前输出的文字。应该怎么编写?
最佳答案
  • 二级知识专家网友:第幾種人
  • 2021-01-15 16:45

上面是选择的情况

上面是清除后的情况
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 SubPrivate 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替换为空格。明白了吗?
追问:这些我有编程基础我懂与或非,之前学过JAVA和net,这个问题解决了,我问大神最后一个问题,怎么样在这个基础上建立数组,然后循环,当我们把复选框打上4个勾,那么循环第一次,则输出Check1和“原先输入的文字”。循环第二次则输出Check1和“原先输入的文字”,以此类推,大神,你帮我,等下还追加你分数,很感谢指点思路
追答:循环第一次,则输出Check1和“原先输入的文字”。循环第二次则输出Check1和“原先输入的文字”
二次输出没有区别呀!
你到底需要什么功能,又是数组,又是循环,不明白!
追问:我打错了,功能是这样的,当我们勾选了复选框Check1、Check2、Check3,那么在文本框内输出,循环则输出Check1和“原先输入的文字”。然后过几秒,循环第二次则在文本框内输出Check2和“原先输入的文字”以此类推,其他功能不需要写,只要这个,我是在弄一个喊话功能已加你了,感谢感谢。我先给你分,辛苦了。
全部回答
  • 1楼网友:你可爱的野爹
  • 2021-01-15 19:39
两个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
  • 2楼网友:刀戟声无边
  • 2021-01-15 18:09
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
追问:高手,你这个编译我是写出来了的,问题是,当我取消选中的勾的时候,怎么样将我之前输出的文字一起清除掉。而不是我反复按复选框,会一直出现一大串重复文字
追答:你的文本框里的文字究竟是手工输入的还是由软件自动输出的?方便的话能把你的代码给我看看吗?部分即可。
追问:现在问题是,一个复选框内的文字输出在文本框内,而且不影响文本框内的文字。能聊么,感谢了。扣 244427376
  • 3楼网友:冷風如刀
  • 2021-01-15 17:43
勾选时文体框输出文字且能正常输入文字,不勾选时清空文本框且文本框不可输入文字:
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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息