次の方法で共有


IDataObject.GetData メソッド (String, Boolean)

指定したデータ形式に関連付けられているデータを取得します。データを指定形式に変換できるかどうかを確認するためにブール値を使用します。

Function GetData( _
   ByVal format As String, _   ByVal autoConvert As Boolean _) As Object
[C#]
object GetData(
   stringformat,boolautoConvert);
[C++]
Object* GetData(
   String* format,boolautoConvert);
[JScript]
function GetData(
   format : String,autoConvert : Boolean) : Object;

パラメータ

  • format
    取得するデータの形式。定義済みの形式については、 DataFormats のトピックを参照してください。
  • autoConvert
    指定した形式にデータを変換する場合は true 。それ以外の場合は false

戻り値

指定した形式に関連付けられているデータ、または null 参照 (Visual Basic では Nothing) 。

解説

autoConvert パラメータに true が設定されていて、指定した形式のデータをこのメソッドが検出できない場合、メソッドはデータを指定した形式に変換しようとします。データを指定形式に変換できない場合や、データの格納時に autoConvert パラメータに false が設定されていた場合は、このメソッドは null 参照 (Visual Basic では Nothing) を返します。

autoConvert パラメータが false の場合、このメソッドは指定した形式でデータを返します。指定形式のデータが見つからない場合は null 参照 (Nothing) を返します。

データが特定の形式に関連付けられているかどうか、またはデータをその形式に変換できるかどうかを確認するには、 GetData を呼び出す前に GetDataPresent を呼び出します。インスタンスに格納されているデータに対して有効な形式のリストを取得するには、 GetFormats を呼び出します。

メモ   形式変換を有効にしてデータが格納されている場合、要求した形式が、格納されている形式と互換性があれば、そのデータを別の形式に変換できます。たとえば、Unicode として格納されたデータをテキストに変換できます。

このメソッドの実装については、 DataObject.GetData のトピックを参照してください。

使用例

[Visual Basic, C#, C++] この例では、 IDataObject を実装する DataObject クラスを使用して、 GetData メソッドの使用法を示します。この例では、データ形式を変換するかどうかを指定する autoConvert パラメータを使用して、 DataObject に格納されているデータを取得します。まず、テキスト データを含む myDataObject が作成されます。次に、この例では 2 回データを取得しようとします。初回には、形式を文字列として指定し、 autoConvert パラメータを false に設定します。これは失敗し、その結果が "Message #1" というラベルの付いたメッセージ ボックスに表示されます。2 回目には、 autoConvert パラメータが true に設定されている同じデータを取得します。これは成功し、その結果が "Message #2" というラベルの付いたメッセージ ボックスに表示されます。この例は、 Form1 という名前の Form を作成済みであることを前提にしています。

 
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 Not (myDataObject.GetData("System.String", False) Is 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 'GetData3

[C#] 
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");
}

[C++] 
private:
    void GetData3() {
        // Creates a new data object using a text string.
        String* myString = S"Hello World!";
        DataObject* myDataObject = 
            new DataObject(DataFormats::Text, myString);

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

        // Displays the string in a text box with autoConvert equal to true.
        String* myData = String::Concat(S"The data is ", 
            myDataObject->GetData(S"System::String", true), S".");
        MessageBox::Show(myData, S"Message #2");
    }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

IDataObject インターフェイス | IDataObject メンバ | System.Windows.Forms 名前空間 | IDataObject.GetData オーバーロードの一覧 | IDataObject.SetData | IDataObject.GetDataPresent | DataFormats | IDataObject.GetFormats | DataObject.SetData | DataObject.GetDataPresent | DataObject.GetFormats