技术开发 频道

.NET中实现访问剪贴板

IT168 技术文档】

    在.NET中访问剪贴板可以通过两种方法实现:一种方法是直接通过调用某些控件的Cut/Copy/Paste方法就可以直接与剪贴板交互。另一种方法是使用Clipboard类实现。通过调用SetDataObject方法,可以访问剪贴板并将数据存储在其中。该方法使用IDataObject接口将数据存储到剪贴板中。

    1. 使用控件的Cut/Copy/Paste方法与剪贴板交互。

//把数据从文本框剪切到剪贴板 this.textBox1.Cut(); //把数据从文本框复制到剪贴板 this.textBox1.Copy();

    2. 使用Clipboard类实现访问剪贴板。

using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace myClipboard ...{ /**//**//**//// <summary> /// Form1 的摘要说明。 /// </summary> public class Form1 : System.Windows.Forms.Form ...{ private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button2; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.TextBox textBox2; /**//**//**//// <summary> /// 必需的设计器变量。 /// </summary> private System.ComponentModel.Container components = null; public Form1() ...{ // // Windows 窗体设计器支持所必需的 // InitializeComponent(); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // } /**//**//**//// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) ...{ if( disposing ) ...{ if (components != null) ...{ components.Dispose(); } } base.Dispose( disposing ); } Windows /**//**//**//// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() ...{ Application.Run(new Form1()); } private void button1_Click(object sender, System.EventArgs e) ...{ if(textBox1.SelectedText != "") Clipboard.SetDataObject(textBox1.SelectedText); else textBox2.Text = "No text selected in textBox1"; } private void button2_Click(object sender, System.EventArgs e) ...{ IDataObject iData = Clipboard.GetDataObject(); if(iData.GetDataPresent(DataFormats.Text)) ...{ textBox2.Text = (String)iData.GetData(DataFormats.Text); } else ...{ textBox2.Text = "Could not retrieve data off the clipboard."; } } } }
 
0
相关文章