【问题标题】:How to Copy and Paste from One TextBox to another TextBox on the Same Windows Form如何从一个文本框复制和粘贴到同一 Windows 窗体上的另一个文本框
【发布时间】:2016-12-19 20:58:02
【问题描述】:

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

代码:

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

【问题讨论】:

  • 技术上这不是复制粘贴,但我看不出它不应该起作用的原因。您确定该事件已附加到属性窗口中按钮的Click 事件吗?
  • 假设Name 属性是正确的,并且copyButton1 也是正确的,没有理由不这样做。
  • 我构建了一个示例WindowsForm 应用程序,其中包含两个名为ui1ui2TextBox 控件,以及一个具有相同代码的按钮,并且应用程序运行良好!
  • 感谢您的反馈。是的,你们都是对的,当我在一个简单的表单上使用相同的代码时,它可以正常工作,但由于某种原因在表单中其他控件不起作用。我会更多地检查表格。

标签: c# winforms


【解决方案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 不同的另一个表单上。或者您选择并允许智能感知反转您复制的数据,即一对二。你的代码:

ui2.Text = ui1.Text;

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


更新

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

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

【讨论】:

  • 感谢格雷格的反馈。我试图复制的字段是 uid1.Text。我尝试使用如下所示的剪贴板功能,但这不起作用: if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) == true) { if(uid1.SelectionLength > 0) { uid2.SelectionStart = uid1. SelectionStart + uid1.SelectionLength; uid2.Paste(); } }
  • 我使用的是相同的表格。如何实例化文本框?该表单适用于其他控件,包括从各种文本框中读取值并为其他任务处理它,但它不会在同一个表单上从一个文本框复制到另一个文本框。我的理解是 InitializeComponent() 与 Form1_Load 函数一起发挥作用实例化所有必要的对象。如果有误解,请纠正我。
  • 嗨,格雷格,我正在尝试使用您显示的示例代码。如何使用从 Clipboard.SetText(uid1.Text) 获得的值设置 uid2.Text?
  • @mkarim 为您解答。
  • 谢谢,我想我现在明白了,它正在工作。我做了以下事情: private void copy_button1_Click_1(object sender, EventArgs e) { Clipboard.SetText(uid1.Text); uid2.Text = Clipboard.GetText(); }
猜你喜欢
  • 1970-01-01
  • 2020-01-22
  • 1970-01-01
  • 2020-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-14
相关资源
最近更新 更多