次の方法で共有


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

データを指定形式に変換するかどうかを判断するための自動変換パラメータを使用して、指定したデータ形式に関連付けられているデータを返します。

Overloads Public Overridable Function GetData( _
   ByVal format As String, _   ByVal autoConvert As Boolean _) As Object Implements IDataObject.GetData
[C#]
public virtual object GetData(stringformat,boolautoConvert);
[C++]
public: virtual Object* GetData(String* format,boolautoConvert);
[JScript]
public function GetData(
   format : String,autoConvert : Boolean) : Object;

パラメータ

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

戻り値

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

実装

IDataObject.GetData

解説

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

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

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

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

使用例

[Visual Basic, C#, C++] データ形式を変換するかどうかを指定する autoConvert パラメータを使用して、 DataObject に格納されているデータを取得する例を次に示します。

[Visual Basic, C#, C++] まず、テキスト データを含む新しい DataObject が作成されます。次に、データの形式を文字列に指定し、形式の変換を行わないことを指定して、データを取得しようとします。つまり、 autoConvert パラメータは false です。 DataObject には文字列型データがないため、この操作は失敗します。

[Visual Basic, C#, C++] 次に、 autoConvert パラメータを true に設定して、再びデータを取得しようとします。この操作は成功し、結果が MessageBox に表示されます。

[Visual Basic, C#, C++] このコードは、 textBox1 が作成されていることを前提にしています。

 
Private Sub GetMyData3()
    ' Creates a new data object using a string and the text format.
    Dim myString As String = "My new text string"
    Dim myDataObject As New DataObject(DataFormats.Text, myString)
    
    ' Prints the string in a text box with autoconvert = false.
    If Not (myDataObject.GetData("System.String", False) Is Nothing) Then
        ' Prints the string in a text box.
        textBox1.Text = myDataObject.GetData("System.String", False).ToString() & ControlChars.Cr
    Else
        textBox1.Text = "Could not find data of the specified format" & ControlChars.Cr
    End If 
    ' Prints the string in a text box with autoconvert = true.
    textBox1.Text += myDataObject.GetData("System.String", True).ToString()
End Sub 'GetMyData3

[C#] 
private void GetMyData3() {
    // Creates a new data object using a string and the text format.
    string myString = "My new text string";
    DataObject myDataObject = new DataObject(DataFormats.Text, myString);
 
    // Prints the string in a text box with autoconvert = false.
    if(myDataObject.GetData("System.String", false) != null) {
       // Prints the string in a text box.
       textBox1.Text = myDataObject.GetData("System.String", false).ToString() + '\n';
    } else
       textBox1.Text = "Could not find data of the specified format" + '\n';
 
    // Prints the string in a text box with autoconvert = true.
    textBox1.Text += myDataObject.GetData("System.String", true).ToString();
 }
 

[C++] 
private:
void GetMyData3() {
    // Creates a new data object using a string and the text format.
    String* myString = S"My new text string";
    DataObject* myDataObject = new DataObject(DataFormats::Text, myString);
 
    // Prints the string in a text box with autoconvert = false.
    if(myDataObject->GetData(S"System.String", false) != 0) {
       // Prints the string in a text box.
       textBox1->Text = String::Concat( myDataObject->GetData(S"System.String",false), S"\n");
    } else
       textBox1->Text = S"Could not find data of the specified format\n";
 
    // Prints the string in a text box with autoconvert = true.
    textBox1->Text =
       String::Concat(textBox1->Text, myDataObject->GetData(S"System.String", true)->ToString());
 }
 

[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 ファミリ

参照

DataObject クラス | DataObject メンバ | System.Windows.Forms 名前空間 | DataObject.GetData オーバーロードの一覧 | SetData | GetDataPresent | DataFormats | GetFormats