RichTextBox控件 文本拖动是复制?? vb.net2005

riverswan 2008-10-15 11:00:12
1.从工具箱里拖拉RichTextBox控件到窗体中
2.设置EnableAutoDragDrop=true
3.运行:RichTextBox1.LoadFile(sRTFFile),正常.
4.在RichTextBox1控件中拖动控件中选中的文字,拖动后放下,选中的文字被复制到目标光标处!??
一般的编辑控件都是把选中的文字移动到目标光标处啊!本论坛上的有一篇提问是想复制,因为他说选中的文字被移动到目标光标处的.我操作了怎么是复制呢??? 如何才能实现移动文字啊???


...全文
351 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjficcbw 2009-04-01
  • 打赏
  • 举报
回复
安装 .net fw 3.5就行了
东方笑 2009-03-18
  • 打赏
  • 举报
回复
持续关注
riverswan 2008-10-19
  • 打赏
  • 举报
回复
再顶
Forrest23 2008-10-17
  • 打赏
  • 举报
回复
这个问题不知道该怎么解决,等待高手解答~
riverswan 2008-10-17
  • 打赏
  • 举报
回复
如何解决无效拖拉??
CloneCenter 2008-10-16
  • 打赏
  • 举报
回复
难道 Ctrl 键被按下了?
Forrest23 2008-10-16
  • 打赏
  • 举报
回复
这样设置就可以实现移动而不是复制了
Private Sub RichTextBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles RichTextBox1.DragEnter
e.Effect = DragDropEffects.Move
End Sub
Forrest23 2008-10-16
  • 打赏
  • 举报
回复
Me.RichTextBox1.DoDragDrop(sender, DragDropEffects.Move)
可以把效果设置为move
ejoe313 2008-10-16
  • 打赏
  • 举报
回复
拖拉过来不改变属性,怎么样,有没试过?
一般情况都是移动文字的...
Forrest23 2008-10-16
  • 打赏
  • 举报
回复
确实有这种情况
riverswan 2008-10-16
  • 打赏
  • 举报
回复
添加代码:
Private Sub frmRichTextBox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
RTB.AllowDrop = True
RTB.EnableAutoDragDrop = True
End Sub
Private Sub RTB_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles RTB.DragEnter
If ModifierKeys = Keys.Control Then
e.Effect = DragDropEffects.Copy
Else : e.Effect = DragDropEffects.Move
End If
End Sub
运行结果:按Ctrl键是复制的,否则是移动文字的。

但是:第1次拖拉无效!总是要无效拖拉一次之后,第2次才有效。
详细:按Ctrl键拖拉:无效(文本未移动或复制),再按Ctrl键拖拉,有效(文本被复制),再不按Ctrl键拖拉,无效,再不按Ctrl键拖拉,有效(文本被移动)....
riverswan 2008-10-16
  • 打赏
  • 举报
回复
感谢各位的热心回答。这个问题我真是头大了。实在没办法的话只好引用COM,使用VB6.0的RichTextBox控件了。
不妨请各位操作一遍。注意不涉及与控件外的拖放,只论RichTextBox控件内的编辑拖拉问题。
1. 给窗体增加一个RichTextBox控件
 Dim sRTFFile As String = "RichTextBox控件测试文件.rtf"
Private Sub 装载文件_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 装载文件.Click
If My.Computer.FileSystem.FileExists(sRTFFile) Then RichTextBox1.LoadFile(sRTFFile)
End Sub
运行:RichTextBox1编辑框内的选中文字是不能拖拉移动或复制的。


2.设置属性RichTextBox1.EnableAutoDragDrop=true ,
再运行:RichTextBox1编辑框内的选中文字可以拖拉,但却是复制的!


象以前的VB6.0的RichTextBox1控件,Windows的写字板、Word等程序都是在拖拉文字时是移动文字的,我想应该VB2005的RichTextBox控件也应该默认是移动文字的!真是奇怪了也,难道我的VB2005中毒了?

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧