次の方法で共有


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

インスタンスに格納されているデータが、指定した形式に関連付けられているかどうかを確認します。データを指定形式に変換できるかどうかを確認するためにブール値を使用します。

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

パラメータ

  • format
    確認対象の形式。定義済みの形式については、 DataFormats のトピックを参照してください。
  • autoConvert
    インスタンスに格納されているデータを指定した形式に変換できるかどうかを確認する場合は true 。データが指定した形式かどうかを確認する場合は false

戻り値

データが指定した形式である場合や、その形式に変換できる場合は true 。それ以外の場合は false

解説

DataObject に形式が格納されているかどうかを確認するには、 GetData を呼び出す前に、このメソッドを呼び出します。インスタンスで使用できる形式を取得するには、 GetFormats を呼び出します。

このメソッドは、次の場合に true を返します。

  • autoConvert パラメータが true に設定されていて、データが適切な形式に変換できる形式である場合。
  • autoConvert パラメータが false に設定されていて、データが適切な形式である場合。

このメソッドは、次の場合に false を返します。

  • autoConvert パラメータが true に設定されていて、このメソッドが指定した形式のデータを見つけることができず、かつデータを指定形式に変換できない場合、またはデータの格納時に autoConvertfalse が設定されていた場合。
  • autoConvert パラメータが false に設定されていて、指定した形式のデータがこのインスタンスに存在しない場合。

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

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

使用例

[Visual Basic, C#, C++] この例では、 IDataObject を実装する DataObject クラスを使用して GetDataPresent メソッドの使用法を示します。最初に、文字列および Text 形式を使用してデータ オブジェクト (myDataObject) を作成します。次に、 autoConvert パラメータを false に設定して、 Text 形式に関連付けられているデータをオブジェクトに問い合わせます。これは失敗し、その結果が "Message #1" というラベルの付いたメッセージ ボックスに表示されます。2 回目には、 autoConvert パラメータを true に設定します。これは成功し、その結果が "Message #2" というラベルの付いたメッセージ ボックスに表示されます。この例は、 Form1 という名前の Form を作成済みであることを前提にしています。

 
Private Sub GetDataPresent3()
    ' Creates a new data object using a string and the Text format.
    Dim myDataObject As New DataObject(DataFormats.Text, "My String")

    ' Checks whether the string can be displayed with autoConvert equal to false.
    If myDataObject.GetDataPresent("System.String", False) Then
        MessageBox.Show(myDataObject.GetData("System.String", False).ToString() + ".", "Message #1")
    Else
        MessageBox.Show("Cannot convert data to the specified format with autoConvert set to false.", "Message #1")
    End If
    ' Displays the string with autoConvert equal to true.
    MessageBox.Show(("Now that autoConvert is true, you can convert " + myDataObject.GetData("System.String", _
         True).ToString() + " to string format."), "Message #2")

End Sub 'GetDataPresent3

[C#] 
private void GetDataPresent3() 
{
    // Creates a new data object using a string and the Text format.
    DataObject myDataObject = new DataObject(DataFormats.Text, "My String");
 
    // Checks whether the string can be displayed with autoConvert equal to false.
    if(myDataObject.GetDataPresent("System.String", false)) 
        MessageBox.Show(myDataObject.GetData("System.String", false).ToString(), "Message #1");
    else
        MessageBox.Show("Cannot convert data to the specified format with autoConvert set to false.", "Message #1");
 
    // Displays the string with autoConvert equal to true.
    MessageBox.Show("Now that autoConvert is true, you can convert " + 
        myDataObject.GetData("System.String", true).ToString() + " to string format.","Message #2");
}

[C++] 
private:
    void GetDataPresent3() {
        // Creates a new data object using a string and the Text format.
        DataObject* myDataObject = new DataObject(DataFormats::Text, S"My String");

        // Checks whether the string can be displayed with autoConvert equal to false.
        if (myDataObject->GetDataPresent(S"System::String", false))
            MessageBox::Show(
            myDataObject->GetData(S"System::String", false)->ToString(), 
            S"Message #1");
        else
            MessageBox::Show(
            S"Cannot convert data to the specified format with autoConvert set to false.", 
            S"Message #1");

        // Displays the string with autoConvert equal to true.
        MessageBox::Show(String::Concat(S"Now that autoConvert is true, you can convert ", 
            myDataObject->GetData(S"System::String", true), 
            S" to string format."), 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.GetDataPresent オーバーロードの一覧 | IDataObject.SetData | IDataObject.GetData | DataObject.GetDataPresent | IDataObject.GetFormats