首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WPF 拖动时出现 Invalid FORMATETC structure

如果在 WPF 需要支持一个东西可以拖动,那么可以使用 DragDrop ,但是使用这个之后就出现了异常 System.Runtime.InteropServices.COMException was...Additional information: Invalid FORMATETC-Structure (Exception HRESULT: 0x80040064 (DV_E_FORMATETC)) 如果需要拖动一个文字...,那么可以使用下面代码 DataObject dataObject = new DataObject(DataFormats.Text, "hello");...DragDrop.DoDragDrop(this, dataObject, DragDropEffects.Move); 这个在程序内拖动不会出现问题,但是如果在拖动在程序外,就会出现 'System.Runtime.InteropServices.COMException...如果拖动的程序无法把你的内容转换为他需要的,那么就会出现这个错误。 只需要忽略就好了 参见 https://stackoverflow.com/a/34092811/6116637

26710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用编译时注解简单实现类似 ButterKnife 的效果

    什么是编译时注解 上篇文章 什么是注解以及运行时注解的使用 中我们介绍了注解的几种使用场景,这里回顾一下: 编译前提示信息:注解可以被编译器用来发现错误,或者清除不必要的警告; 编译时生成代码:一些处理器可以在编译时根据注解信息生成代码...编译时注解就是只在编译时存在的注解,可以被注解处理器识别,用于生成一些代码。 APT 处理编译时注解需要使用 APT。...我们在使用 ButterKnife 和 Dagger2 时,gradle 依赖中的 apt 就是指定在编译时调用它们的注解处理器: compile "com.jakewharton:butterknife...编译时注解的使用一般分为三步: 用注解修饰变量 编译时使用注解处理器生成代码 运行时调用生成的代码 那编写编译时注解项目的步骤就是这样: 先创建注解 创建注解处理器,在其中拿到注解修饰的变量信息,生成需要的代码...EventBus,ButterKnife,Dagger2 都使用了编译时注解,技术基础有了后,具体如何创造,就看你的想象力了!

    1.6K90

    编译时注解apt kapt

    --《Kotlin in Action》 注解(也被成为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据。...注解分类 从取值的方式来说可以分为两类:编译时注解和运行时注解。 运行时注解 使用反射在程序运行时操作。目前最著名的使用运行时注解的开源库就是Retrofit。...(由于运行时注解使用了反射,必然会影响到效率) 编译时注解 顾名思义,就是编译时去处理的注解。dagger,butterKnife,包括谷data binding,都用到了编译时注解。...其核心就是编译时注解+APT+动态生成字节码。 APT和KAPT APT (Annotation Processor Tool):注解处理器是一个在javac中的,用来编译时扫描和处理的注解的工具。...KAPT与APT完全相同,只是在Kotlin下的注解处理器。 实例 使用编译时注解+APT+动态生成字节码完成了一个butterKnife最基础的findViewById的功能,适合入门学习。

    1.8K20

    【Android APT】编译时技术 ( 编译时注解 和 注解处理器 依赖库 )

    文章目录 一、编译时注解和注解处理器 二、创建 编译时注解 和 注解处理器 三、添加 编译时注解 和 注解处理器 依赖库依赖 四、博客资源 一、编译时注解和注解处理器 ---- 上一篇博客 【Android...APT】编译时技术 ( ButterKnife 原理分析 ) 简单介绍了下编译时技术 , 并简单分析了 ButterKnife 的实现原理 ; 使用 ButterKnife 时会依赖两个库 , dependencies...注解处理器中查找相关的注解处理的类 ; 使用编译时技术 APT 时 , 一般将 注解 拆分成两个部分 , 一部分是使用的 编译时注解 , 另一部分是 注解处理器 ; 二、创建 编译时注解 和 注解处理器...---- 使用 Android Studio 开发 Android 项目时 , 使用到编译时技术 , 都要用到 编译时注解 和 注解处理器 ; 编译时注解 和 注解处理器 一般都创建为 Java or...; 使用上述相同的方式 , 创建 annotation 编译时注解 依赖库 和 annotation-compiler 注解处理器 依赖库 , 这两个 Module 的类型都是 " Java or

    38910

    Android 编译时注解 —— 语法详解

    java Type 详解 java 反射机制详解 注解使用入门(一) Android 自定义编译时注解1 - 简单的例子 Android 编译时注解 —— 语法详解 带你读懂 ButterKnife 的源码...根据注解使用方法和用途,我们可以将Annotation分为三类: JDK内置系统注解(如 @SuppressWarnings(“deprecation”),@override 等) 元注解 如(@Documented...注解的继承”(依赖倒置?) 这里讲的继承并不是通过@Inherited修饰的注解。 这个“继承”是一个注解的使用技巧,使用上的感觉类似于依赖倒置,来自于ButterKnife源码。 先看代码。...而ButterKnife有很多的监听注解@OnItemClick、@OnLongClick等等。 这样在做代码生成时,不需要再单独考虑每一个监听注解,只需要处理@ListenerClass就OK。...@Seriable(id = 1) //name有默认值可以不写 class Test{ } 关于怎样自定义一个注解,可以参看这一篇博客,Android 自定义编译时注解1 - 简单的例子 ----

    76920

    【Android APT】编译时技术 ( 开发编译时注解 )

    文章目录 一、编译时注解 二、编译时注解 使用 三、注解的保留时间 四、博客资源 一、编译时注解 ---- 上一篇博客 【Android APT】编译时技术 ( 编译时注解 和 注解处理器 依赖库 )...) 标注 BindView 注解 , 说明该注解是 编译时注解 ; 注解属性解析 : 使用 value 作为注解属性名 , 并且只有一个 注解属性 , 因此该注解在使用的时候 , 为注解属性赋值可以省略..." value = " , 直接传入注解属性值 ; 二、编译时注解 使用 ---- 注释掉之前的 ButterKnife 的 编译时注解 和 注解处理器 , 使用应用中自己开发的 编译时注解 和 注解处理器...注解处理器 , 处理上述注解 ; 注解处理器 工作机制 : 当程序在编译时 , 执行注解处理器 , 注解处理器会搜索整个程序中 , 使用到 BindView 注解的位置 , 并获取注解的相关信息 ,..., @BindView 注解还存在 ; @Override 注解是 源码期注解 , 只保留到源码期 , 编译时使用该注解 , 编译完成后 , 该注解就被删除了 ; @BindView 注解 是 运行时注解

    27610

    无标题栏窗口通过消息模拟拖动窗口时,无法拖动的一个原因

    在使用DUI库或者web控件来做窗口和UI时,常常遇到一个问题:整个窗口如果设置了CAPTION区域,那么在CAPTION区域中,web页面的内容无法正常响应鼠标事件,如果不设置CAPTION...区域,那么对于窗口的拖动又有影响。...在这种情况话,我们优先选择不设置CAPTION,然后通过模拟拖动的行为来实现拖动窗口。...就像点标题栏拖动窗口的手感一样。 但是,第二种方法我在win32窗口,mfc窗口等里面进行测试,在这些窗口的CLIENT区域去发送消息,完全没有问题,可以正常拖动。...我把它用于webview窗口,由网页的js回调C++(我采用的回调),c++再去发送消息,消息也收到了,但是无论如何就是无法拖动!

    13010

    Spring注解-@Autowired注解使用

    当 Spring遇到一个在 setter 方法中使用的 @Autowired 注解,它会在方法中执行 byType 自动装配。...属性中的 @Autowired 你可以在属性中使用 @Autowired 注解来除去 setter 方法。...一个构造函数 @Autowired 说明当创建 bean 时,即使在 XML 文件中没有使用 元素配置 bean ,构造函数也会被自动连接。让我们检查一下下面的示例。...但是,如果没有加@ComponentScan注解,或者@ComponentScan注解扫描的路径不对,或者路径范围太小,会导致有些注解无法收集,到后面无法使用@Autowired完成自动装配的功能。...有个好消息是,在springboot项目中,如果使用了@SpringBootApplication注解,它里面内置了@ComponentScan注解的功能。

    1K10

    Hibernate注解之基本注解的注解使用

    Hibernate注解之基本注解的注解使用 1.1. 使用注解须知 1.2. 类级别注解 1.3. 属性级别的注解 1.4. 主键相关的注解 1.5. 与非主键相关的注解 1.6. 实例 1.7....参考文档 Hibernate注解之基本注解的注解使用 使用注解须知 我们在使用注解自动创建表的时候,系统会默认为我们创建一张表Hibernate_sequence,我们可以在Hibernate.cfg.xml...默认为 Catalog(“”) schema : 可选 , 表示 Schema 名称 , 默认为Schema(“”) 属性级别的注解 属性级别的注解在getXXX()方法上使用 @Id 映射生成主键...与非主键相关的注解 @Version - 可以在实体bean中使用@Version注解,通过这种方式可添加对乐观锁定的支持 @Basic - 用于声明属性的存取策略: @Basic(fetch=FetchType.EAGER...insertable -可选,表示在ORM框架执行插入操作时,该字段是否应出现INSETRT 语句中,默认为 true updateable -可选,表示在ORM 框架执行更新操作时

    2K10

    ireport使用教程视频_proe拖动图形

    之后在报表的空白处单击,如此即可把对象添加到报表,然后拖动对象的边框,使它的大小合适,双击即可对对象中的文本进行快速编辑。...在Pattern里,可以定义输出的格式,在输出时间和日期或者货币时尤为有用。...需要注意的是,根据不同的参数类型,在设置参数的缺省值时要使值能与参数类型匹配,即字符型的参数在设置缺省值时要用””把值括起来,如果是数据值型的则不能加””。...输出时,有几种方式:输出到流,输出到文件,也可以直接生成视图等。...使用Sub Report, 如何使用相对路径 和使用图片类似,最好使用InputStream 或者传入参数。 Query里面如何使用参数 P!

    2.7K20
    领券