这段代码的问题是:
成都创新互联云计算的互联网服务提供商,拥有超过13年的服务器租用、绵阳电信机房机柜租用、云服务器、虚拟主机、网站系统开发经验,已先后获得国家工业和信息化部颁发的互联网数据中心业务许可证。专业提供云主机、虚拟主机、域名申请、VPS主机、云服务器、香港云服务器、免备案服务器等。
首先for each循环在files里查找文件对象,但是f变量声明为string了,无法让它获取对象;
然后file.copy的变量file没有任何声明,也没有初始化赋值等;
最后,整个for each循环里查找集合files的文件,由于初始化的循环计数器仍然按照最初设定的文件数目向后递增(文件地址),但是实际文件删除一部分,后续的文件位置就不能跟循环计数指针匹配了,所以默认为查找不到文件,将会报错。一般的做法时把复制和删除分别放在2次循环里,第一次只复制文件,第二次才去删除。
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Clipboard.SetDataObject(TextBox1.Text)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
TextBox1.Text = Clipboard.GetDataObject().GetData(DataFormats.Text, False)
End Sub
复制操作应该是复制当前选区而不是整个文本框内容,粘贴应该是将剪帖板内容插入到当前光标所在位置,而不是将文本框原有内容彻底覆盖,另外,通常当Text1没选中文字时,要使复制按钮Command1不可用
Private Sub Command1_Click()
Clipboard.SetText Text1.SelText
End Sub
Private Sub Command2_Click()
If Len(Clipboard.GetText) Then
Text1.SelText = Clipboard.GetText
End If
End Sub
Private Sub Form_Load()
Command1.Enabled = False
End Sub
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
Command1.Enabled = Text1.SelLength 0
End Sub
Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Butt Then
Command1.Enabled = Text1.SelLength 0
End If
End Sub
比如Text1的内容为abc,而当前只选中了第一个字符a
那么Text1.text表示文本框的全部内容,即abc
而Text1.SelText表示文本框中当前选中的内容,即a--selText是select text(选中文字)的缩写
新建一个控件测试窗体工程,添加一个DataGridView控件,添加前面我们做的扩展控件DataGridViewExt的引用,并在Form1.Designer.vb文件中中将
Friend WithEvents DataGridView1 As System.Windows.Forms.DataGridView
Me.DataGridView1 = New System.Windows.Forms.DataGridView
分别改为:
Friend WithEvents DataGridView1 As DataGridViewExt.DataGridViewExt
Me.DataGridView1 = New DataGridViewExt.DataGridViewExt
然后就可以从Excel,记事本等程序往DataGridView粘贴数据了.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Str As String = Clipboard.GetText '获取剪切板数据。
ListView1.View = View.Details
Dim Tit As Boolean = True
Dim Index As Integer = 0 '标题行的列数。
Try
For Each i In Str.Replace(vbLf, "").Split(vbCr)
Dim Str2() As String = i.Split(" ")
If Tit Then '标题行
Tit = False
For Each k In Str2
ListView1.Columns.Add(k)
Next
Index = Str2.Length - 1
Else '非标题行。
Dim lv As New ListViewItem(Str2(0))
For k = 1 To Index
lv.SubItems.Add(Str2(k))
Next
ListView1.Items.Add(lv)
End If
Next
Catch ex As Exception
End Try
End Sub
例如,把文件"E:\新建文件夹\a.txt"复制到剪贴板
CreateObject("Shell.Application").NameSpace("E:\新建文件夹").ParseName("a.txt").InvokeVerb "复制(C)"