Clipboard.SetDataObject 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在系统剪贴板上存储指定的数据对象。
重载
SetDataObject(Object) |
将指定的非永久性数据对象放置在系统剪贴板上。 |
SetDataObject(Object, Boolean) |
将指定的数据对象置于系统剪贴板中,并接受一个布尔参数,该参数指示应用程序退出时是否将数据对象保留在剪贴板中。 |
SetDataObject(Object)
将指定的非永久性数据对象放置在系统剪贴板上。
public:
static void SetDataObject(System::Object ^ data);
[System.Security.SecurityCritical]
public static void SetDataObject (object data);
public static void SetDataObject (object data);
[<System.Security.SecurityCritical>]
static member SetDataObject : obj -> unit
static member SetDataObject : obj -> unit
Public Shared Sub SetDataObject (data As Object)
参数
- data
- Object
要放置在系统剪贴板上的数据对象(实现 IDataObject 的对象)。
- 属性
例外
data
为 null
。
访问剪贴板时发生错误。 异常详细信息将包含一个标识特定错误的 HResult
;请参见 ErrorCode。
注解
默认情况下,当应用程序退出时,系统剪贴板 SetDataObject 上的数据会自动从剪贴板中清除。
备注
在应用程序退出时清除剪贴板的默认行为可能不同于其他实现,后者可能会在应用程序退出时将数据保留在剪贴板上,而不是默认清除它。
SetDataObject使用 重载并指定 参数,copy
就好像不希望在应用程序退出时从剪贴板中清除数据一样true
。
DataObject 提供 接口的基本实现 IDataObject 。
另请参阅
适用于
SetDataObject(Object, Boolean)
将指定的数据对象置于系统剪贴板中,并接受一个布尔参数,该参数指示应用程序退出时是否将数据对象保留在剪贴板中。
public:
static void SetDataObject(System::Object ^ data, bool copy);
[System.Security.SecurityCritical]
public static void SetDataObject (object data, bool copy);
public static void SetDataObject (object data, bool copy);
[<System.Security.SecurityCritical>]
static member SetDataObject : obj * bool -> unit
static member SetDataObject : obj * bool -> unit
Public Shared Sub SetDataObject (data As Object, copy As Boolean)
参数
- data
- Object
要放置在系统剪贴板上的数据对象(实现 IDataObject 的对象)。
- copy
- Boolean
如果应用程序退出时要将数据保留在系统剪贴板中,则为 true
;如果应用程序退出时要将数据从系统剪贴板中清除,则为 false
。
- 属性
例外
data
为 null
。
访问剪贴板时发生错误。 异常详细信息将包含一个标识特定错误的 HResult
;请参见 ErrorCode。
示例
以下示例演示了此方法的使用。
// For this example, the data to be placed on the clipboard is a simple
// string.
string textData = "I want to put this string on the clipboard.";
// The example will enable auto-conversion of data for this data object.
bool autoConvert = true;
// Create a new data object, specifying the data format, data to encapsulate, and enabling
// auto-conversion services.
DataObject data = new DataObject(DataFormats.UnicodeText, (Object)textData, autoConvert);
// If the data to be copied is supposed to be persisted after the application ends,
// then set the second parameter of SetDataObject to true.
if(persistentData)
{
// Place the persisted data on the clipboard.
Clipboard.SetDataObject(data, true);
}
else
{
// Place the non-persisted data on the clipboard.
Clipboard.SetDataObject(data, false);
}
// If you keep a copy of the source data object, you can use the IsCurrent method to see if
// the data object is still on the clipboard.
bool isOriginalDataObject = Clipboard.IsCurrent(data);
' For this example, the data to be placed on the clipboard is a simple
' string.
Dim textData As String = "I want to put this string on the clipboard."
' The example will enable auto-conversion of data for this data object.
Dim autoConvert As Boolean = True
' Create a new data object, specifying the data format, data to encapsulate, and enabling
' auto-conversion services.
Dim data As New DataObject(DataFormats.UnicodeText, CType(textData, Object), autoConvert)
' If the data to be copied is supposed to be persisted after the application ends,
' then set the second parameter of SetDataObject to true.
If persistentData Then
' Place the persisted data on the clipboard.
Clipboard.SetDataObject(data, True)
Else
' Place the non-persisted data on the clipboard.
Clipboard.SetDataObject(data, False)
End If
' If you keep a copy of the source data object, you can use the IsCurrent method to see if
' the data object is still on the clipboard.
Dim isOriginalDataObject As Boolean = Clipboard.IsCurrent(data)
注解
DataObject 提供 接口的基本实现 IDataObject 。 IsCurrent 确定上次 SetDataObject 调用之前放置在剪贴板上的数据对象。