VB复制文本框文本问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB复制文本框文本问题相关的知识,希望对你有一定的参考价值。
Private Sub Command2_Click()
Clipboard.SetText Text2.Text
MsgBox "复制成功!!", 26, "提示!"
End Sub
复制是可以啦!但是只能在程序内部粘贴,不能粘贴到桌面的记事本
前者的话,就是按CTRL + V 就粘贴上了呗。这这是windows一个辅助程序而已。不可能不通用的。
后者的话,那就比较麻烦了、 首先用findwindow 这个API找到记事本的句柄。然后findwindowex找到记事本上文本框的句柄。 然后sendmessage、、参数设置为settext 、然后点击command2就会出现在第三方程序上面了。
如果你对于我说的不知所云的话,你百度 API 。 参考技术A 你忘了先清空剪贴板了!
Private Sub Command1_Click()
Clipboard.Clear
Clipboard.SetText Text1.Text
MsgBox "复制成功!!", 26, "提示!"
End Sub本回答被提问者采纳 参考技术B Private Sub Command1_Click()
Clipboard.Clear
Clipboard.SetText Text1.Text
MsgBox "复制成功!!", 26, "提示!"
End Sub 参考技术C 没有问题。可以粘贴到记事本追问
为什我不能,只能粘贴在程序里的文本框
追答经实测可以
测试环境:XP, VB6.0+SP6
允许文本框vb中的负数和正数
我有一个问题,我需要在文本框中的按键事件中,只需输入caracter( - )和数字
例如:-540612或64346
文本框允许负数和正数
答案
Private Sub txtMonRenta_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtMonRenta.KeyPress
If Not IsNumeric(e.KeyChar) AndAlso System.Convert.ToByte(e.KeyChar) <> 8 AndAlso Convert.ToByte(e.KeyChar) <> 45 Then
e.Handled = True
End If
End Sub
这项工作很好!!
另一答案
这类问题有很多“答案”,经过审查后,我找到了一种简单直接的方法。这是我打电话的子项:
Private Sub txtNumOnly_KeyPress(sender As Object, e As KeyPressEventArgs, txtBox As TextBox)
'If not backspace or acceptable char flush key
If (Not e.KeyChar = ChrW(Keys.Back) And ("0123456789.-").IndexOf(e.KeyChar) = -1) Then
e.Handled = True
End If
'Only one decimal allowed
If (e.KeyChar = "." And txtBox.Text.ToCharArray().Count(Function(c) c = ".") > 0) Then
e.Handled = True
End If
'Deal with selected text too.
If txtBox.SelectionLength > 0 Then
If txtBox.Text.Length <> txtBox.SelectionLength Then
If e.KeyChar = "-" Then
e.Handled = True
Exit Sub 'avoid other checks, we're done
End If 'e.KeyChar = "-"
Else ''txtBox.Text.Length <> txtBox.SelectionLength
Exit Sub 'allow it, all text is replaced
End If 'txtBox.Text.Length <> txtBox.SelectionLength
End If 'txtBox.SelectionLength > 0
'Only one minus allowed and must be first char
If (e.KeyChar = "-" And txtBox.Text.ToCharArray().Count(Function(c) c = "-") > 0) Then
e.Handled = True
End If
If e.KeyChar = "-" And txtBox.Text.Length > 0 Then
e.Handled = True
End If
End Sub
现在在文本框的KeyPress事件处理程序中:
Private Sub txtDaysReview_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtDaysReview.KeyPress
txtNumOnly_KeyPress(sender, e, txtDaysReview) '<==Adjust the txtDaysReview to reference the TextBox being checked
End Sub
以上是关于VB复制文本框文本问题的主要内容,如果未能解决你的问题,请参考以下文章
c#如何使一个文本框变为不可编辑?但是又可以复制里面的数据?