我正在维护一个旧的 VB6应用程序,在Windows 7下运行时遇到一些复制/粘贴问题。一些表单有一个 RichTextBox 控件来自你可以不再复制文字(ctr-c)。
这就是我所学到的:
该应用程序使用Microsoft的Richtx32.ocx(v6.1.97.82)进行rihtext控件。我正在运行Windows 7 64位版本。
我真的很感谢任何帮助,因为我现在变得非常绝望。
修改 如果我在打开表单之前复制某些内容然后关闭相同的表单,文本仍然在剪贴板中,所以我的表单没有清除剪贴板,而是看起来像是内存管理问题?如果未使用的对象(文本框)中有文本,可能是“GC”清除剪贴板吗?
答案 0 :(得分:1)
如果您确切地知道数据被“清除”了什么点,那将是一个好主意。将代码放在Me.Hide或Unload Me语句之前,在Form_Unload语句中,并在表单被清除以执行之后的某个时刻:
Clipboard.GetFormat(vbCFRTF)
这将告诉您剪贴板在什么时候没有检测到文本。
与此同时,您可以将数据保存在全局变量中,或者在剪贴板 确定的最后一点将其作为参数传回,然后在必要时在某个点执行表格关闭后:
Clipboard.Clear
Clipboard.SetText sRichText, vbCFRTF
另一件事,您是否尝试使用Windows XP SP3兼容性运行?