IDataObject.GetData 方法

定义

检索与指定的数据格式关联的数据。

重载

GetData(String)

检索与指定的数据格式关联的数据。

GetData(Type)

检索与指定的类类型格式关联的数据。

GetData(String, Boolean)

检索与指定数据格式相关联的数据,并使用一个布尔值确定是否将数据转换成该格式。

GetData(String)

检索与指定的数据格式关联的数据。

C#
public object GetData (string format);
C#
public object? GetData (string format);

参数

format
String

要检索的数据的格式。 请参见 DataFormats 以获取预定义的格式。

返回

与指定格式关联的数据,或为 null

示例

此示例使用 DataObject 类,该类实现 IDataObject, 以演示 方法的 GetData 用法。 方法用于检索存储在 中的数据 myDataObject,该数据与 Text 格式相关联。 该示例假定你已创建了一个名为 FormForm1 和一个名为 TextBoxtextBox1

C#
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();
}

注解

如果此方法找不到指定格式的数据,它会尝试将数据转换为格式。 如果无法将数据转换为指定的格式,此方法将 null返回 。

若要确定数据是否与 数据关联或可转换为 格式,请在调用 之前调用 GetDataPresentGetData。 调用 GetFormats 此实例中存储的数据的有效格式列表。

备注

如果存储的数据指定允许转换,并且请求的格式与存储的格式兼容,则可以将数据转换为另一种格式。 例如,存储为 Unicode 的数据可以转换为文本。

有关此方法的实现,请参阅 DataObject.GetData

另请参阅

适用于

.NET Framework 4.8.1 和其他版本
产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

GetData(Type)

检索与指定的类类型格式关联的数据。

C#
public object GetData (Type format);
C#
public object? GetData (Type format);

参数

format
Type

Type 表示要检索的数据的格式。 请参见 DataFormats 以获取预定义的格式。

返回

与指定格式关联的数据,或为 null

示例

此示例使用 DataObject 实现 的 IDataObject类来演示 方法的 GetData 用法。 方法用于检索中 myObject存储的数据,该数据与特定类型 myType相关联。 检索到的数据的类型显示在消息框中。 该示例假定你已创建了一个名为 FormForm1

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

注解

如果此方法找不到指定格式的数据,它会尝试将数据转换为格式。 如果无法将数据转换为指定的格式,此方法将 null返回 。

若要确定数据是否与 数据关联或可转换为 格式,请在调用 之前调用 GetDataPresentGetData。 调用 GetFormats 此实例中存储的数据的有效格式列表。

备注

如果存储的数据指定允许转换,并且请求的格式与存储的格式兼容,则可以将数据转换为另一种格式。 例如,存储为 Unicode 的数据可以转换为文本。

有关此方法的实现,请参阅 DataObject.GetData

另请参阅

适用于

.NET Framework 4.8.1 和其他版本
产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

GetData(String, Boolean)

检索与指定数据格式相关联的数据,并使用一个布尔值确定是否将数据转换成该格式。

C#
public object GetData (string format, bool autoConvert);
C#
public object? GetData (string format, bool autoConvert);

参数

format
String

要检索的数据的格式。 请参见 DataFormats 以获取预定义的格式。

autoConvert
Boolean

将数据转换成指定格式,值为 true;反之,值为 false

返回

与指定格式关联的数据,或为 null

示例

此示例使用 DataObject 实现 的 IDataObject类来演示 方法的 GetData 用法。 该示例使用 autoConvert 参数来指定是否转换数据格式,检索存储在 DataObject中的数据。 首先, myDataObject 使用文本数据创建 。 然后,该示例尝试两次检索数据。 在第一次试用中,它将格式指定为字符串, autoConvert 并将 参数设置为 false。 此试用版失败,结果显示在标有“消息 #1”的消息框中。第二次试用中,该示例检索参数设置为 trueautoConvert相同数据。 此试用成功,结果显示在标有“消息 #2”的消息框中。该示例假定你已创建一个名为 FormForm1

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");
       }

注解

autoConvert如果 参数为 true ,并且此方法找不到指定格式的数据,则会尝试将数据转换为格式。 如果数据无法转换为指定格式,或者数据存储 autoConvert 时参数设置为 false,则此方法返回 null

autoConvert如果 参数为 false,则此方法返回指定格式的数据,或者null找不到此格式的数据。

若要确定数据是否与 数据关联或可转换为 格式,请在调用 之前调用 GetDataPresentGetData。 调用 GetFormats 此实例中存储的数据的有效格式列表。

备注

如果存储的数据指定允许转换,并且请求的格式与存储的格式兼容,则可以将数据转换为另一种格式。 例如,存储为 Unicode 的数据可以转换为文本。

有关此方法的实现,请参阅 DataObject.GetData

另请参阅

适用于

.NET Framework 4.8.1 和其他版本
产品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9