指定した四角形に含まれている 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
パラメータ
- copyRectangle
型 : System.Drawing.Rectangle
Strokes コレクションを含む四角形を Clipboard にコピーします。
- formats
型 : Microsoft.Ink.InkClipboardFormats
Ink オブジェクトの形式を指定する InkClipboardFormats 列挙体のメンバ。既定値は Default です。
- modes
型 : Microsoft.Ink.InkClipboardModes
Ink オブジェクトのモードを指定する InkClipboardModes 列挙体のメンバ。既定値は Default です。
戻り値
型 : System.Windows.Forms.IDataObject
作成されるデータ オブジェクトを返します。既定値は nullnull 参照 (Visual Basic では Nothing) (Microsoft Visual Basic .NET の場合は Nothing) です。
解説
四角形により Stroke オブジェクトがクリップされると、コピーされたデータ内で対応する Stroke オブジェクトもクリップされます。
Ink オブジェクトのすべてのプロパティをコピーする場合は、Ink オブジェクト全体を Clipboard にコピーすると便利です。Ink オブジェクトを Clipboard にコピーするには、strokes パラメータを null (Visual Basic .NET の場合は Nothing) に設定して ClipboardCopy(Strokes, InkClipboardFormats, InkClipboardModes) メソッドを呼び出します。
ClipboardCopy(Rectangle, InkClipboardFormats, InkClipboardModes) メソッドを InkClipboardModes モードで使用すると、複数のストロークに分割される Stroke オブジェクトは削除され、新しいオブジェクトがその場所に追加されます。
Ink.InkDeleted イベントは、Strokes コレクション内の Stroke オブジェクトのインデックスに基づいて生成されます。たとえば、インデックス 0、1、2、3、5、および 6 にある Stroke オブジェクトが削除されると、2 つのイベントが生成されます。1 つのイベントはインデックス 0、1、2、3 の Stroke オブジェクトに対して生成され、もう 1 つのイベントはインデックス 5 と 6 の Stroke オブジェクトに対して生成されます。つまり、連続するセットごとに 1 つのイベントが生成されます。これは InkAdded イベントにも適用されます。ただし、Strokes コレクションに新しく追加される Stroke オブジェクトのインデックスは内部アルゴリズムによって決定され、InkAdded イベントの発生方法に影響を与えます。
Strokes コレクションの Count プロパティをイベント ハンドラ内から照会した場合の結果は、すべての操作によって追加された Stroke オブジェクトと、イベントをまだ生成していない Stroke オブジェクトの総数になります。
![]() |
---|
InkClipboardModes フラグを使用した結果発生する可能性のあるメモリ リークを回避するために、Clipboard オブジェクトの System.Windows.Forms.Clipboard.SetDataObject(System.Object) メソッドを呼び出します。ClipboardCopy メソッドの最後の呼び出しにおいて列挙体 InkClipboardModes で DelayedCopy フラグを使用した場合は、アプリケーションを終了する前に呼び出す必要があります。 |
![]() |
---|
このメソッドを部分信頼で使用する場合は、UIPermissionClipboard.OwnClipboard アクセス許可が必要です。詳細については、「Security and Trust」を参照してください。 |
例
この C# の例では、すべてのインクを Rectangle 構造体 theRectangle から InkCollector オブジェクト theInkCollector にコピーし、さらにClipboard にコピーします。
try
{
theInkCollector.Ink.ClipboardCopy(theRectangle,
InkClipboardFormats.Default, InkClipboardModes.Copy);
}
catch
{
// Place exception handling code here.
}
この Visual Basic .NET の例では、すべてのインクを Rectangle 構造体 theRectangle から InkCollector オブジェクト theInkCollector にコピーし、さらにClipboard にコピーします。
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