IDataObject.SetData 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在此實例中儲存指定的資料及其相關格式。
多載
| 名稱 | Description |
|---|---|
| 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);
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);
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);
abstract member SetData : Type * obj -> unit
Public Sub SetData (format As Type, data As Object)
參數
- format
- Type
A Type 代表與資料相關的格式。 請參閱 DataFormats 預設格式。
- data
- Object
要儲存的資料。
範例
此範例使用 DataObject 實 IDataObject作 的類別來示範該方法的使用 SetData 。 首先,它建立一個元件(myComponent),並將其儲存在資料物件(),myDataObjectmyType以指定資料格式。 接著檢查指定類型的資料是否儲存在物件中,並以訊息框顯示結果。 這個範例假設你已經建立了 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);
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。