IDataObject.GetData 方法

定義

擷取與指定資料格式產生關聯的資料。

多載

GetData(String)

擷取與指定資料格式產生關聯的資料。

GetData(Type)

擷取與指定的類別型別格式相關的資料。

GetData(String, Boolean)

擷取與指定的資料格式相關的資料,使用布林值來決定是否要將資料轉換成格式。

GetData(String)

擷取與指定資料格式產生關聯的資料。

public:
 System::Object ^ GetData(System::String ^ format);
public object GetData (string format);
public object? GetData (string format);
abstract member GetData : string -> obj
Public Function GetData (format As String) As Object

參數

format
String

要擷取的資料格式。 如需預先定義的格式,請參閱 DataFormats

傳回

Object

與所指定格式或 null 建立關聯的資料。

範例

這個範例會 DataObject 使用 類別,這個類別會實 IDataObject, 作 來示範 方法的使用 GetData 方式。 方法可用來擷取儲存在 中的資料 myDataObject ,其與格式相關聯 Text 。 此範例假設您已經建立 Form 名為 的 ,以及名為 的 textBox1 TextBoxForm1

private:
   void GetData1()
   {
      // Creates a new data object using a string and the text format.
      String^ myString = "My text string";
      DataObject^ myDataObject = gcnew DataObject( DataFormats::Text,myString );

      // Displays the string in a text box.
      textBox1->Text = myDataObject->GetData( DataFormats::Text )->ToString();
   }
private void GetData1() 
{
    // Creates a new data object using a string and the text format.
    string myString = "My text string";
    DataObject myDataObject = new DataObject(DataFormats.Text, myString);

    // Displays the string in a text box.
    textBox1.Text = myDataObject.GetData(DataFormats.Text).ToString();
}
Private Sub GetData1()
    ' Creates a new data object using a string and the text format.
    Dim myString As String = "My text string"
    Dim myDataObject As New DataObject(DataFormats.Text, myString)

    ' Displays the string in a text box.
    textBox1.Text = myDataObject.GetData(DataFormats.Text).ToString()
End Sub

備註

如果這個方法找不到指定格式的資料,它會嘗試將資料轉換成格式。 如果資料無法轉換成指定的格式,這個方法會傳 null 回 。

若要判斷資料是否與 相關聯,或可以轉換成 格式,請在呼叫 之前呼叫 GetDataPresent GetData 。 呼叫 GetFormats 儲存在此實例中之資料的有效格式清單。

注意

如果資料儲存指定允許轉換,而且要求的格式與預存格式相容,則可以將資料轉換成另一種格式。 例如,儲存為 Unicode 的資料可以轉換成文字。

如需這個方法的實作,請參閱 DataObject.GetData

另請參閱

適用於

GetData(Type)

擷取與指定的類別型別格式相關的資料。

public:
 System::Object ^ GetData(Type ^ format);
public object GetData (Type format);
public object? GetData (Type format);
abstract member GetData : Type -> obj
Public Function GetData (format As Type) As Object

參數

format
Type

Type,表示要擷取的資料的格式。 如需預先定義的格式,請參閱 DataFormats

傳回

Object

與所指定格式或 null 建立關聯的資料。

範例

這個範例會 DataObject 使用 實作 IDataObject 的 類別來示範 方法的使用 GetData 方式。 方法可用來擷取儲存在 中的資料 myObject ,其與特定類型 myType 相關聯。 擷取資料的型別會顯示在訊息方塊中。 此範例假設您已經建立名為 的 Form Form1

private:
   void GetData2()
   {
      // Creates a component.
      Component^ myComponent = gcnew Component;

      // Creates a data object, and assigns it the component.
      DataObject^ myDataObject = gcnew DataObject( myComponent );

      // Creates a type, myType, to store the type of data.
      Type^ myType = myComponent->GetType();

      // Retrieves the data using myType to represent its type.
      Object^ myObject = myDataObject->GetData( myType );
      if ( myObject != nullptr )
            MessageBox::Show( "The data type stored in the data object is " +
                  myObject->GetType()->Name + "." );
      else
            MessageBox::Show( "Data of the specified type was not stored in the data object." );
   }
       private void GetData2() 
       {
           // Creates a component.
           Component myComponent = new Component();

           // Creates a data object, and assigns it the component.
           DataObject myDataObject = new DataObject(myComponent);

           // Creates a type, myType, to store the type of data.
           Type myType = myComponent.GetType();

           // Retrieves the data using myType to represent its type.
           Object myObject = myDataObject.GetData(myType);
           if(myObject != null)
               MessageBox.Show("The data type stored in the data object is " +
                   myObject.GetType().Name + ".");
           else
               MessageBox.Show("Data of the specified type was not stored " +
                   "in the data object.");
       }
Private Sub GetData2()
    ' Creates a component.
    Dim myComponent As New System.ComponentModel.Component()

    ' Creates a data object, and assigns it the component.
    Dim myDataObject As New DataObject(myComponent)

    ' Creates a type, myType, to store the type of data.
    Dim myType As Type = myComponent.GetType()

    ' Retrieves the data using myType to represent its type.
    Dim myObject As [Object] = myDataObject.GetData(myType)
    If (myObject IsNot Nothing) Then
        MessageBox.Show("The data type stored in the data object is " + myObject.GetType().Name + ".")
    Else
        MessageBox.Show("Data of the specified type was not stored " + "in the data object.")
    End If
End Sub

備註

如果這個方法找不到指定格式的資料,它會嘗試將資料轉換成格式。 如果資料無法轉換成指定的格式,這個方法會傳 null 回 。

若要判斷資料是否與 相關聯,或可以轉換成 格式,請在呼叫 之前呼叫 GetDataPresent GetData 。 呼叫 GetFormats 儲存在此實例中之資料的有效格式清單。

注意

如果資料儲存指定允許轉換,而且要求的格式與預存格式相容,則可以將資料轉換成另一種格式。 例如,儲存為 Unicode 的資料可以轉換成文字。

如需這個方法的實作,請參閱 DataObject.GetData

另請參閱

適用於

GetData(String, Boolean)

擷取與指定的資料格式相關的資料,使用布林值來決定是否要將資料轉換成格式。

public:
 System::Object ^ GetData(System::String ^ format, bool autoConvert);
public object GetData (string format, bool autoConvert);
public object? GetData (string format, bool autoConvert);
abstract member GetData : string * bool -> obj
Public Function GetData (format As String, autoConvert As Boolean) As Object

參數

format
String

要擷取的資料格式。 如需預先定義的格式,請參閱 DataFormats

autoConvert
Boolean

若要將資料轉換成指定的格式則為 true,否則為 false

傳回

Object

與所指定格式或 null 建立關聯的資料。

範例

這個範例會 DataObject 使用 實作 IDataObject 的 類別來示範 方法的使用 GetData 方式。 此範例會使用 autoConvert 參數來指定是否要轉換資料格式,擷取儲存在 中的資料 DataObject 。 首先, myDataObject 會使用文字資料來建立。 然後,此範例會嘗試兩次擷取資料。 在第一個試用版中,它會將其格式指定為字串,並將 參數設定 autoConvertfalse 。 此試用版失敗,結果會顯示在標示為「訊息 #1」的訊息方塊中。 在第二個試用版中,此範例會擷取相同的資料, autoConvert 並將 參數設定為 true 。 此試用版成功,結果會顯示在標示為「訊息 #2」的訊息方塊中。 此範例假設您已建立名為 的 Form Form1

private:
   void GetData3()
   {
      // Creates a new data object using a text string.
      String^ myString = "Hello World!";
      DataObject^ myDataObject = gcnew DataObject( DataFormats::Text,myString );

      // Displays the string with autoConvert equal to false.
      if ( myDataObject->GetData( "System::String", false ) != nullptr )
      {
         // Displays the string in a message box.
         MessageBox::Show( myDataObject->GetData( "System::String", false ) + ".", "Message #1" );
      }
      else
            MessageBox::Show( "Could not find data of the specified format.", "Message #1" );

      // Displays a not found message in a message box.
      // Displays the string in a text box with autoConvert equal to true.
      String^ myData = "The data is " + myDataObject->GetData( "System::String", true ) + ".";
      MessageBox::Show( myData, "Message #2" );
   }
       private void GetData3() 
       {
           // Creates a new data object using a text string.
           string myString = "Hello World!";
           DataObject myDataObject = new DataObject(DataFormats.Text, myString);

           // Displays the string with autoConvert equal to false.
           if (myDataObject.GetData("System.String", false) != null) 
           {
               // Displays the string in a message box.
               MessageBox.Show(myDataObject.GetData("System.String", false).ToString() + ".", "Message #1");
           } 
           else
           {
               // Displays a not found message in a message box.
               MessageBox.Show("Could not find data of the specified format.", "Message #1");
           }

           // Displays the string in a text box with autoConvert equal to true.
           string myData = "The data is " + myDataObject.GetData("System.String", true).ToString() +".";
           MessageBox.Show(myData,"Message #2");
       }
Private Sub GetData3()
    ' Creates a new data object using a text string.
    Dim myString As String = "Hello World!"
    Dim myDataObject As New DataObject(DataFormats.Text, myString)

    ' Displays the string with autoConvert equal to false.
    If (myDataObject.GetData("System.String", False) IsNot Nothing) Then
        ' Displays the string in a message box.
        MessageBox.Show(myDataObject.GetData("System.String", False).ToString() + ".", "Message #1")
        ' Displays a not found message in a message box.
    Else
        MessageBox.Show("Could not find data of the specified format.", "Message #1")
    End If

    ' Displays the string in a text box with autoConvert equal to true.
    Dim myData As String = "The data is " + myDataObject.GetData("System.String", True).ToString()
    MessageBox.Show(myData, "Message #2")
End Sub

備註

autoConvert如果 參數為 true ,而且這個方法找不到指定格式的資料,它會嘗試將資料轉換成格式。 如果資料無法轉換成指定的格式,或資料是以 參數設定 false 為 儲存 autoConvert ,則這個方法會傳 null 回 。

autoConvert如果 參數為 false ,則這個方法會傳回指定格式的資料,如果 null 找不到此格式的資料,則為 。

若要判斷資料是否與 相關聯,或可以轉換成 格式,請在呼叫 之前呼叫 GetDataPresent GetData 。 呼叫 GetFormats 儲存在此實例中之資料的有效格式清單。

注意

如果資料儲存指定允許轉換,而且要求的格式與預存格式相容,則可以將資料轉換成另一種格式。 例如,儲存為 Unicode 的資料可以轉換成文字。

如需這個方法的實作,請參閱 DataObject.GetData

另請參閱

適用於