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






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
中的文本作为变量。