Ink.ClipboardCopy 方法 (Rectangle, InkClipboardFormats, InkClipboardModes)

将指定矩形中包含的 Strokes 集合复制到 Clipboard

命名空间:  Microsoft.Ink
程序集:  Microsoft.Ink(在 Microsoft.Ink.dll 中)

语法

声明
Public Function ClipboardCopy ( _
    copyRectangle As Rectangle, _
    formats As InkClipboardFormats, _
    modes As InkClipboardModes _
) As IDataObject
用法
Dim instance As Ink
Dim copyRectangle As Rectangle
Dim formats As InkClipboardFormats
Dim modes As InkClipboardModes
Dim returnValue As IDataObject

returnValue = instance.ClipboardCopy(copyRectangle, _
    formats, modes)
public IDataObject ClipboardCopy(
    Rectangle copyRectangle,
    InkClipboardFormats formats,
    InkClipboardModes modes
)
public:
IDataObject^ ClipboardCopy(
    Rectangle copyRectangle, 
    InkClipboardFormats formats, 
    InkClipboardModes modes
)
public IDataObject ClipboardCopy(
    Rectangle copyRectangle,
    InkClipboardFormats formats,
    InkClipboardModes modes
)
public function ClipboardCopy(
    copyRectangle : Rectangle, 
    formats : InkClipboardFormats, 
    modes : InkClipboardModes
) : IDataObject

参数

返回值

类型:System.Windows.Forms.IDataObject
返回要创建的数据对象。默认值为 nullnull 引用(在 Visual Basic 中为 Nothing)(在 Microsoft Visual Basic.NET 中为 Nothing)。

备注

如果矩形裁剪 Stroke 对象,则在复制的数据中裁剪相应的 Stroke 对象。

如果希望复制 Ink 对象的所有属性,将整个 Ink 对象复制到 Clipboard 会很有用。若要将 Ink 对象复制到 Clipboard,请调用 ClipboardCopy(Strokes, InkClipboardFormats, InkClipboardModes) 方法,并将 strokes 参数设置为 null(在 Visual Basic .NET 中为 Nothing)。

如果在 InkClipboardModes 模式下使用 ClipboardCopy(Rectangle, InkClipboardFormats, InkClipboardModes) 方法,则会删除拆分为两个或多个笔画的 Stroke 对象,并在其位置上添加新笔画。

Ink.InkDeleted 事件是根据 Stroke 对象在 Strokes 集合中的索引生成的。例如,如果要删除索引 0、1、2、3、5 和 6 处的 Stroke 对象,则生成两个事件。一个事件是为索引 0、1、2 和 3 处的 Stroke 对象生成的,另一个事件是为索引 5 和 6 处的 Stroke 对象生成的。即,为每个连续集生成一个事件。这也适用于 InkAdded 事件;但是,内部算法确定新添加的 Stroke 对象在 Strokes 集合中的索引,并影响如何激发 InkAdded 事件。

如果从事件处理程序中查询 Strokes 集合的 Count 属性,结果是整个操作添加的 Stroke 对象的总数,包括尚未生成事件的 Stroke 对象。

警告

为避免因使用 InkClipboardModes 标志可能导致的内存泄漏,请调用 Clipboard 对象的 System.Windows.Forms.Clipboard.SetDataObject(System.Object) 方法。如果上一次调用 ClipboardCopy 方法时使用了枚举 InkClipboardModes 中的 DelayedCopy 标志,则必须在应用程序退出前完成此操作。

ms569551.alert_security(zh-cn,VS.90).gif安全说明:

如果在部分信任环境下使用,此方法需要 UIPermissionClipboard.OwnClipboard 权限。有关更多信息,请参见Security And Trust

示例

此 C# 示例将所有墨迹Rectangle 结构 theRectangle 复制到 ClipboardInkCollector 对象 theInkCollector。

try
{
    theInkCollector.Ink.ClipboardCopy(theRectangle,
        InkClipboardFormats.Default, InkClipboardModes.Copy);
}
catch
{
    // Place exception handling code here.
}

此 Visual Basic .NET 示例将所有墨迹Rectangle 结构 theRectangle 复制到 ClipboardInkCollector 对象 theInkCollector。

Try
    theInkCollector.Ink.ClipboardCopy(theRectangle,
        InkClipboardFormats.Default, InkClipboardModes.Copy)
Catch
    'Place exception handling code here.
End Try

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

版本信息

.NET Framework

受以下版本支持:3.0

另请参见

参考

Ink 类

Ink 成员

ClipboardCopy 重载

Microsoft.Ink 命名空间

ClipboardPaste