In this article, I will explain how to manipulate text in the Clipboard. Here is how the main form in the sample application looks like:

Adding Controls
First of all, create a new project (Windows Forms Application) and add two Labels, then add a TextBox (textClip), and then another Label (labelClip) that will show what is in the Clipboard. Now, add a Timer (timerRefresh) that will refresh what is in the Clipboard to you automatically, and finally, add a Button (buttonSet).
The Code
First of all, define the interval of the Timer. In this article, I will use 5000ms (5 sec.) as interval. Now, let's get into the code!
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();
}
}
Explanation
- PasteData(): In the PasteData, we have a IDataObject called ClipData that will store the Clipboard data object, then the Timer starts. The if statement will see if the Clipboard has something; if it has, it will store the data in a string(s), for use later to change the text of labelClip
- timerRefresh_Tick(object sender, EventArgs e): In this function, every time the Timer reaches the interval time (5 sec.), it will execute PasteData
- private void SetToClipboard(object text): Here, we will add a text that is in the object test to the Clipboard, using SetDataObject
- private void buttonSet_Click(object sender, EventArgs e): When the user clicks in the buttonSet button, it will use SetToClipboard, using the text that is in testClip as the variable




MultiQuote


|