如何在DragEnter事件中知道来源是不是本控件?

progame 2003-04-26 04:08:52
RichTextBox的这个事件,我想判断是不是本控件的拖放,如果是,则为Move效果,否则为copy效果
...全文
140 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
progame 2003-04-26
  • 打赏
  • 举报
回复
rtBox.GiveFeedback += new System.Windows.Forms.GiveFeedbackEventHandler(this.richTextBox_GiveFeedback);
private void richTextBox_GiveFeedback(object sender, System.Windows.Forms.GiveFeedbackEventArgs e)
{
System.Diagnostics.Debug.WriteLine("givefeedback");
}
dragontt 2003-04-26
  • 打赏
  • 举报
回复
你是如何写的
progame 2003-04-26
  • 打赏
  • 举报
回复
怎么我左拖右拖也触发不了这个事件
dragontt 2003-04-26
  • 打赏
  • 举报
回复
话是没错

不过,这个事件在拖动过程中会发生

注意,它是触发拖动源控件的事件哦

所以,你可以把源控件的sender付给一个变量

这样,应该是可以成功
不过,方法笨一点
progame 2003-04-26
  • 打赏
  • 举报
回复
而且我根本无法触发这个事件
progame 2003-04-26
  • 打赏
  • 举报
回复
我怀疑它不能用啊

GiveFeedback 事件使得拖动事件源能够修改鼠标指针的外观,以便在拖放操作过程中为用户提供视觉反馈。

这和DragOver好像也没什么区别啊
dragontt 2003-04-26
  • 打赏
  • 举报
回复
这个事件你可以看看我刚才给你的那个帮助

它在执行拖动操作期间发生。

不过,要区分来源的控件
你都需要去写这个方法才行
所以,说它很笨
progame 2003-04-26
  • 打赏
  • 举报
回复
你的意思是说控件的文件被拖动前会触发GiveFeedback?

如果可行,这不是什么笨方法
dragontt 2003-04-26
  • 打赏
  • 举报
回复
我知道你的意思
不过,好像不能够直接区分托动的来源

我让你用GiveFeedback事件
是在这个事件发生时
在一个全局变量中指定当前的sender
然后,你可以通过这个sender的来判断来源

当然,这是个笨方法
progame 2003-04-26
  • 打赏
  • 举报
回复
我要的不是区分后的效果,而是如何去区分
dragontt 2003-04-26
  • 打赏
  • 举报
回复
GiveFeedback

在你要区分来源的地方写Control.GiveFeedback 事件

ms-help://MS.VSCC/MS.MSDNVS.2052/cpref/html/frlrfSystemWindowsFormsControlClassGiveFeedbackTopic.htm
progame 2003-04-26
  • 打赏
  • 举报
回复
我想支持文本拖放

有可能是本控件的文本拖动到本控件的其它位置
也有可能是外部文本拖到本控件

我如何识别它们

就是这样
timmy3310 2003-04-26
  • 打赏
  • 举报
回复
说实话,我还是不是很明白你的问题,能不能说清楚一点

sender肯定会是该控件,这是没错的,所以我给你的代码实际上也没什么用
progame 2003-04-26
  • 打赏
  • 举报
回复
sender?

我开始也是这样想
结果发现sender是事件触发者,一直是当前控件的
不是拖放源
timmy3310 2003-04-26
  • 打赏
  • 举报
回复
if( sender == this )
//....
else
return;
progame 2003-04-26
  • 打赏
  • 举报
回复
up

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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