如何从一个TextBox复制并粘贴到同一Windows窗体上的另一个TextBox

时间:2016-12-19 20:58:03

标签: c# winforms

我正在尝试在用户单击按钮时将值从一个文本框复制到另一个文本框。这似乎是一个简单的解决方案,但出于某种原因,当我单击表单上的coppyButton1时,uid1(TextBox1)中的值不会被复制到uid2(TextBox2)中。希望得到反馈。

代码:

private void copyButton1_Click(object sender, EventArgs e)
{
     uid2.Text = uid1.Text;
}

1 个答案:

答案 0 :(得分:1)

您可以非常轻松地将数据与剪贴板相关联:

Clipboard.SetText(txtCopyText.Text);

这将获取文本框的值,然后存储到剪贴板。

protected void btnCopy_Click(object sender, EventArgs e)
{
     // You would want to validate the contents of the textbox before copying.

     if(!string.IsNullOrEmpty(txtCopy.Text))
          Clipboard.SetText(txtCopy.Text);          
}

如果您只是想将值从一个字段强制转换为另一个字段,那么上面的代码将强制设置该值。但要应用于剪贴板进行复制和粘贴,您可以执行上述操作。

代码可能不起作用的唯一原因是,如果您没有实例化文本框,或者这些字段位于偏离btnCopy的其他表单上。或者您选中并允许intellisense反转您复制的数据,即一对二。你的代码:

ui2.Text = ui1.Text;

您认为是从ui1.Text复制的字段?

<强>更新

要从剪贴板获取数据,您需要执行以下操作:

if(Clipboard.ContainsText(TextDataFormat.Text))
     txtPaste.Text = Clipboard.GetText(TextDataFormat.Text);