设置和获取剪贴板中的文本






4.18/5 (6投票s)
如何使用 C# 设置和获取剪贴板中的文本。
引言
在本文中,我将解释如何操作剪贴板中的文本。以下是示例应用程序中的主窗体外观

添加控件
首先,创建一个新项目(Windows Forms 应用程序),并添加两个 Label,然后添加一个 TextBox(textClip),以及另一个 Label(labelClip),它将显示剪贴板中的内容。现在,添加一个 Timer(timerRefresh),它将自动刷新剪贴板中的内容,最后,添加一个 Button(buttonSet)。
代码
首先,定义 Timer 的间隔。在本文中,我将使用 5000 毫秒(5 秒)作为间隔。现在,让我们进入代码!
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        PasteData();
    }
    private void SetToClipboard(object text)
    {
        System.Windows.Forms.Clipboard.SetDataObject(text);
    }
    private void PasteData()
    {
        IDataObject ClipData = System.Windows.Forms.Clipboard.GetDataObject();
        timerRefresh.Start();
        if (ClipData.GetDataPresent(DataFormats.Text))
        {
           string s = System.Windows.Forms.Clipboard.GetData(DataFormats.Text).ToString();
            labelClip.Text = s;
        }
    }
    private void buttonSet_Click(object sender, EventArgs e)
    {
        SetToClipboard(textClip.Text);
    }
    private void timerRefresh_Tick(object sender, EventArgs e)
    {
        PasteData();
    }
}
解释
- PasteData():在- PasteData中,我们有一个名为- ClipData的- IDataObject,它将存储剪贴板数据对象,然后- Timer开始。if 子句将检查剪贴板中是否有内容;如果有,它会将数据存储在字符串(s)中,以便稍后更改- labelClip的文本。
- timerRefresh_Tick(object sender, EventArgs e):在此函数中,每次- Timer到达间隔时间(5 秒)时,它将执行- PasteData。
- private void SetToClipboard(object text):在这里,我们将使用- SetDataObject将对象- text中的文本添加到剪贴板。
- private void buttonSet_Click(object sender, EventArgs e):当用户单击- buttonSet按钮时,它将使用- SetToClipboard,并将- textClip中的文本作为变量。


