首页 > 其他分享 >DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) 方法——控件拖动方法

DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) 方法——控件拖动方法

时间:2024-09-24 13:23:52浏览次数:1  
标签:控件 拖动 Object DoDragDrop 拖放 方法 ellipse DragDropEffects

参数

dragSource
DependencyObject

对依赖项对象的引用(该对象是被拖动数据的源)。

data
Object

包含被拖动数据的数据对象。

allowedEffects
DragDropEffects

DragDropEffects 值中的一个,指定拖放操作的允许效果。

返回

DragDropEffects

DragDropEffects 值中的一个,指定在拖放操作期间执行的最终效果。

例外

ArgumentNullException

dragSource 或 data 为 null

示例

下面的示例显示了如何从 Ellipse 元素的 MouseMove 事件处理程序中启动拖放操作,以将其作为拖动源。 传输的数据是椭圆 Fill 属性的字符串表示形式。 数据作为字符串传递给 方法, DoDragDrop 并自动包装在 中 DataObject

private void ellipse_MouseMove(object sender, MouseEventArgs e)
{
    Ellipse ellipse = sender as Ellipse;
    if (ellipse != null && e.LeftButton == MouseButtonState.Pressed)
    {
        DragDrop.DoDragDrop( ellipse,
                             ellipse.Fill.ToString(),
                             DragDropEffects.Copy);
    }
}

 

注解

应用程序负责确定何时发生拖动,然后启动拖放操作。 通常,这是当 MouseDown 和 MouseMove 事件序列发生在要拖动的元素上时。 通过调用静态 DoDragDrop 方法并将传输的数据传递给它来启动拖放操作。 如有必要,DoDragDrop 方法将使 DataObject 中的数据自动换行。 为了更好地控制数据格式,可将 DataObject 中的数据换行,然后再将其传递至 DoDragDrop 方法。

从 DoDragDrop 方法返回的值是在放置目标的 事件处理程序中设置的属性Drop的值DragEventArgs.Effects。 如果返回值与调用 DoDragDrop中指定的值之一allowedEffects不匹配,则不会执行拖放操作。

标签:控件,拖动,Object,DoDragDrop,拖放,方法,ellipse,DragDropEffects
From: https://www.cnblogs.com/echo-efun/p/18428957

相关文章

  • 报表控件DevExpress Reports v24.1 —— 拥有可调整布局选项
    DevExpressReports提供了一个可调整的布局选项,允许您以最合适的方式安排、塑造和组织数据。其中一个这样的数据塑造选项是分组,可以在表报告的详细信息带内将数据安排在嵌套的多字段组中。在v24.1版本周期中引入了几个函数,它们允许您获取不同组元素的索引,这些新功能包括:CurrentR......
  • 【JS】Object.defineProperty与Proxy的对比并通过Vue2、3的实现证明Proxy性能优于Obje
    一、Object.defineProperty这里只是简单描述,具体请看另一篇文章:Object.defineProperty。Object.defineProperty是JavaScript中用于定义或修改对象属性的功能强大的方法。它可以精确地控制属性的行为,如是否可枚举、可配置、可写等。基本用法Object.defineProperty(obj......
  • C#控件开发能够阅读的书籍
    在C#中开发控件通常涉及到继承自现有控件类,并重写相关方法。以下是一些书籍,它们涵盖了C#控件开发的基础知识和高级主题:ProfessionalC#:WindowsFormsControlDevelopment作者:ChristianNagel出版社:Wrox推荐理由:这本书由ChristianNagel所著,是一本经典的C#WindowsForms控件......
  • JS输出为[object object] 如何解决以及原因
    参考文档:https://blog.csdn.net/weixin_48141487/article/details/121758541 问题描述项目中,欲在控制台输出变量res(自定义对象)查看数据,代码为:console.log('res:'+res);但控制台显示结果为res:[objectObject],并非想要查看的数据。最基本的要求是先去掉+号,试试看问题原因1......
  • WPF Unable to cast object of type 'System.Windows.Controls.SelectedItemCollectio
    SelectedItemsconverttoIListasbelowfailed;IList<Book>collection2=(IList<Book>)obj; System.InvalidCastExceptionHResult=0x80004002Message=Unabletocastobjectoftype'System.Windows.Controls.SelectedItemCollection'......
  • WPF Combobox ObjectDataProvider MethodName ObjectType ObjectDataProvider.Metho
    <Window.Resources><ObjectDataProviderx:Key="kindEnum"MethodName="GetValues"ObjectType="{x:Typesys:Enum}"><ObjectDataProvider.MethodParameters><x:Type......
  • 一组.NET MAUI绘制的开源控件 - AlohaKit
    前言今天大姚给大家分享一组.NETMAUI绘制的开源、免费(MITLicense)UI控件库:AlohaKit。MAUI介绍.NETMAUI是一个开源、免费(MITLicense)的跨平台框架(支持Android、iOS、macOS和Windows多平台运行),是Xamarin.Forms的进化版,从移动场景扩展到了桌面场景,并从头重新生成了UI控件,以提......
  • 一组.NET MAUI绘制的开源控件 - AlohaKit
    前言今天大姚给大家分享一组.NETMAUI绘制的开源、免费(MITLicense)UI控件库:AlohaKit。MAUI介绍.NETMAUI是一个开源、免费(MITLicense)的跨平台框架(支持Android、iOS、macOS和Windows多平台运行),是Xamarin.Forms的进化版,从移动场景扩展到了桌面场景,并从头重新生成了UI控件,......
  • 类型转换 Cast a pandas object to a specified dtype ``dtype``.
    实践:修改列值分组、排序使用同一字段:整数--》区间名称字符串          FutureWarning:Settinganitemofincompatibledtypeisdeprecatedandwillraiseinafutureerrorofpandas.Value'[320,439)'hasdtypeincompatiblewithint64,pl......
  • WPF 控件模板ControlTemplate
    <Button><Button.Template><ControlTemplate><Grid><EllipseName="faceEllipse"Width="{TemplateBindingButton.Width}"Height=&qu......