IDataObject.SetData 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將指定的資料和其相關的格式儲存於這個執行個體中。
多載
SetData(Object) |
使用格式的資料類別,將指定的資料儲存於這個執行個體中。 |
SetData(String, Object) |
將指定的資料和其相關的格式儲存於這個執行個體中。 |
SetData(Type, Object) |
將指定的資料和其相關的類別型別儲存在這個執行個體中。 |
SetData(String, Boolean, Object) |
將指定的資料和其相關的格式儲存於這個執行個體中,使用布林值指定是否可以將資料轉換成另一種格式。 |
SetData(Object)
使用格式的資料類別,將指定的資料儲存於這個執行個體中。
public:
void SetData(System::Object ^ data);
public void SetData (object data);
public void SetData (object? data);
abstract member SetData : obj -> unit
Public Sub SetData (data As Object)
參數
- data
- Object
要儲存的資料。
範例
這個範例會使用 DataObject 實作 IDataObject
的 類別來示範 方法的使用 SetData
方式。 首先,它會建立元件 (myComponent
) ,並將它儲存在資料物件 (myDataObject
) 中。 然後它會檢查指定的資料是否儲存在資料物件中,並在訊息方塊中顯示結果。 此範例假設您已建立 Form 名為 的 Form1
。
private:
void SetData1()
{
// Creates a component to store in the data object.
Component^ myComponent = gcnew Component;
// Creates a data object.
DataObject^ myDataObject = gcnew DataObject;
// Adds the component to the data object.
myDataObject->SetData( myComponent );
// Checks whether data of the specified type is in the data object.
Type^ myType = myComponent->GetType();
String^ myMessageText;
if ( myDataObject->GetDataPresent( myType ) )
{
myMessageText = "Data of type " + myType->Name +
" is present in the data object";
}
else
{
myMessageText = "Data of type " + myType->Name +
" is not present in the data object";
}
// Displays the result in a message box.
MessageBox::Show( myMessageText, "The Test Result" );
}
private void SetData1()
{
// Creates a component to store in the data object.
Component myComponent = new Component();
// Creates a data object.
DataObject myDataObject = new DataObject();
// Adds the component to the data object.
myDataObject.SetData(myComponent);
// Checks whether data of the specified type is in the data object.
Type myType = myComponent.GetType();
string myMessageText;
if(myDataObject.GetDataPresent(myType))
myMessageText = "Data of type " + myType.Name +
" is present in the data object";
else
myMessageText = "Data of type " + myType.Name +
" is not present in the data object";
// Displays the result in a message box.
MessageBox.Show(myMessageText, "The Test Result");
}
Private Sub SetData1()
' Creates a component to store in the data object.
Dim myComponent As New System.ComponentModel.Component()
' Creates a data object.
Dim myDataObject As New DataObject()
' Adds the component to the data object.
myDataObject.SetData(myComponent)
' Checks whether data of the specified type is in the data object.
Dim myType As Type = myComponent.GetType()
Dim myMessageText As String
If myDataObject.GetDataPresent(myType) Then
myMessageText = "Data of type " + myType.Name + " is present in the data object"
Else
myMessageText = "Data of type " + myType.Name + " is not present in the data object"
End If
' Displays the result in a message box.
MessageBox.Show(myMessageText, "The Test Result")
End Sub
備註
格式衍生自資料類別。
使用此方法儲存的資料可以在擷取時轉換成相容的格式。
如需此方法的實作,請參閱 DataObject.SetData 。
另請參閱
適用於
SetData(String, Object)
將指定的資料和其相關的格式儲存於這個執行個體中。
public:
void SetData(System::String ^ format, System::Object ^ data);
public void SetData (string format, object data);
public void SetData (string format, object? data);
abstract member SetData : string * obj -> unit
Public Sub SetData (format As String, data As Object)
參數
- format
- String
與資料建立關聯的格式。 如需預先定義的格式,請參閱 DataFormats。
- data
- Object
要儲存的資料。
範例
這個範例會使用 DataObject 實作 IDataObject
的 類別來示範 方法的使用 SetData
方式。 首先,它會建立資料物件 (myDataObject
) ,並將字串儲存在指定格式的 UnicodeText
物件中。 然後,它會擷取儲存在物件中指定 Text
格式的資料,以便將資料轉換成 Text
格式。 結果會顯示在訊息方塊中。 此範例假設您已建立 Form 名為 的 Form1
。
private:
void SetData2()
{
// Creates a data object.
DataObject^ myDataObject = gcnew DataObject;
// Stores a string, specifying the UnicodeText format.
myDataObject->SetData( DataFormats::UnicodeText, "Hello World!" );
// Retrieves the data by specifying the Text format.
String^ myMessageText = "The data type is " +
myDataObject->GetData( DataFormats::Text )->GetType()->Name;
// Displays the result.
MessageBox::Show( myMessageText, "The Test Result" );
}
private void SetData2()
{
// Creates a data object.
DataObject myDataObject = new DataObject();
// Stores a string, specifying the UnicodeText format.
myDataObject.SetData(DataFormats.UnicodeText, "Hello World!");
// Retrieves the data by specifying the Text format.
string myMessageText = "The data type is " + myDataObject.GetData(DataFormats.Text).GetType().Name;
// Displays the result.
MessageBox.Show(myMessageText, "The Test Result");
}
Private Sub SetData2()
' Creates a data object.
Dim myDataObject As New DataObject()
' Stores a string, specifying the UnicodeText format.
myDataObject.SetData(DataFormats.UnicodeText, "Hello World!")
' Retrieves the data by specifying the Text format.
Dim myMessageText As String = "The data type is " & _
myDataObject.GetData(DataFormats.Text).GetType().Name
' Displays the result.
MessageBox.Show(myMessageText, "The Test Result")
End Sub
備註
如果您不知道目標應用程式的格式,您可以使用此方法以多種格式儲存資料。
使用此方法儲存的資料可以在擷取時轉換成相容的格式。
如需此方法的實作,請參閱 DataObject.SetData 。
另請參閱
適用於
SetData(Type, Object)
將指定的資料和其相關的類別型別儲存在這個執行個體中。
public:
void SetData(Type ^ format, System::Object ^ data);
public void SetData (Type format, object data);
public void SetData (Type format, object? data);
abstract member SetData : Type * obj -> unit
Public Sub SetData (format As Type, data As Object)
參數
- format
- Type
Type 表示與資料相關的格式。 如需預先定義的格式,請參閱 DataFormats。
- data
- Object
要儲存的資料。
範例
這個範例會使用 DataObject 實作 IDataObject
的 類別來示範 方法的使用 SetData
方式。 首先,它會建立元件 (myComponent
) ,並使用 來指定資料格式, myType
將其儲存在資料物件 (myDataObject
) 中。 然後它會檢查指定的型別資料是否儲存在 物件中,並在訊息方塊中顯示結果。 此範例假設您已建立 Form 名為 的 Form1
。
private:
void SetData3()
{
// Creates a component.
Component^ myComponent = gcnew Component;
// Gets the type of the component.
Type^ myType = myComponent->GetType();
// Creates a data object.
DataObject^ myDataObject = gcnew DataObject;
// Stores the component in the data object.
myDataObject->SetData( myType, myComponent );
// Checks whether data of the specified type is in the data object.
String^ myMessageText;
if ( myDataObject->GetDataPresent( myType ) )
{
myMessageText = "Data of type " + myType->Name +
" is stored in the data object";
}
else
{
myMessageText = "No data of type " + myType->Name +
" is stored in the data object";
}
// Displays the result.
MessageBox::Show( myMessageText, "The Test Result" );
}
private void SetData3()
{
// Creates a component.
Component myComponent = new Component();
// Gets the type of the component.
Type myType = myComponent.GetType();
// Creates a data object.
DataObject myDataObject = new DataObject();
// Stores the component in the data object.
myDataObject.SetData(myType, myComponent);
// Checks whether data of the specified type is in the data object.
string myMessageText;
if(myDataObject.GetDataPresent(myType))
myMessageText = "Data of type " + myType.Name +
" is stored in the data object";
else
myMessageText = "No data of type " + myType.Name +
" is stored in the data object";
// Displays the result.
MessageBox.Show(myMessageText, "The Test Result");
}
Private Sub SetData3()
' Creates a component.
Dim myComponent As New System.ComponentModel.Component()
' Gets the type of the component.
Dim myType As Type = myComponent.GetType()
' Creates a data object.
Dim myDataObject As New DataObject()
' Stores the component in the data object.
myDataObject.SetData(myType, myComponent)
' Checks whether data of the specified type is in the data object.
Dim myMessageText As String
If myDataObject.GetDataPresent(myType) Then
myMessageText = "Data of type " & myType.Name & " is stored in the data object"
Else
myMessageText = "No data of type " & myType.Name & " is stored in the data object"
End If
' Displays the result.
MessageBox.Show(myMessageText, "The Test Result")
End Sub
備註
如果您不知道目標應用程式的格式,您可以使用此方法以多種格式儲存資料。
使用此方法儲存的資料可以在擷取時轉換成相容的格式。
如需此方法的實作,請參閱 DataObject.SetData 。
另請參閱
適用於
SetData(String, Boolean, Object)
將指定的資料和其相關的格式儲存於這個執行個體中,使用布林值指定是否可以將資料轉換成另一種格式。
public:
void SetData(System::String ^ format, bool autoConvert, System::Object ^ data);
public void SetData (string format, bool autoConvert, object data);
public void SetData (string format, bool autoConvert, object? data);
abstract member SetData : string * bool * obj -> unit
Public Sub SetData (format As String, autoConvert As Boolean, data As Object)
參數
- format
- String
與資料建立關聯的格式。 如需預先定義的格式,請參閱 DataFormats。
- autoConvert
- Boolean
若資料可以被轉換成另一種格式,則為 true
;否則為 false
。
- data
- Object
要儲存的資料。
範例
這個範例會使用 DataObject 實作 IDataObject
的 類別來示範 方法的使用 SetData
方式。 首先,它會建立資料物件 (myDataObject
) ,並將字串儲存 UnicodeText
在其中,並將 autoConvert
參數設定為 false
。 然後它會擷取與物件中所儲存資料相關聯的格式 () ,並在訊息方塊中顯示結果。 與資料相關聯的唯一格式是 UnicodeText
格式。 此範例假設您已建立 Form 名為 的 Form1
。
private:
void SetData4()
{
// Creates a new data object.
DataObject^ myDataObject = gcnew DataObject;
// Adds UnicodeText string to the object, and set the autoConvert
// parameter to false.
myDataObject->SetData( DataFormats::UnicodeText, false, "My text String*" );
// Gets the data format(s) in the data object.
array<String^>^arrayOfFormats = myDataObject->GetFormats();
// Stores the results in a string.
String^ theResult = "The format(s) associated with the data are: \n";
for ( int i = 0; i < arrayOfFormats->Length; i++ )
theResult = theResult + arrayOfFormats[ i ], " \n";
// Show the results in a message box.
MessageBox::Show( theResult );
}
private void SetData4()
{
// Creates a new data object.
DataObject myDataObject = new DataObject();
// Adds UnicodeText string to the object, and set the autoConvert
// parameter to false.
myDataObject.SetData(DataFormats.UnicodeText, false, "My text string");
// Gets the data format(s) in the data object.
String[] arrayOfFormats = myDataObject.GetFormats();
// Stores the results in a string.
string theResult = "The format(s) associated with the data are:" + '\n';
for(int i=0; i<arrayOfFormats.Length; i++)
theResult += arrayOfFormats[i] + '\n';
// Show the results in a message box.
MessageBox.Show(theResult);
}
Private Sub SetData4()
' Creates a new data object.
Dim myDataObject As New DataObject()
' Adds UnicodeText string to the object, and set the autoConvert
' parameter to false.
myDataObject.SetData(DataFormats.UnicodeText, False, "My text string")
' Gets the data format(s) in the data object.
Dim arrayOfFormats As [String]() = myDataObject.GetFormats()
' Stores the results in a string.
Dim theResult As String = "The format(s) associated with the data are:" + _
ControlChars.Cr
Dim i As Integer
For i = 0 To arrayOfFormats.Length - 1
theResult += arrayOfFormats(i) + ControlChars.Cr
Next i
' Show the results in a message box.
MessageBox.Show(theResult)
End Sub
備註
如果您不知道目標應用程式的格式,您可以使用此方法以多種格式儲存資料。
如需此方法的實作,請參閱 DataObject.SetData 。