我正在使用
Clipboard.SetText(textbox1.Text);
为了将文本框的内容复制到我的剪贴板,但我希望能够复制整个表单文本。
我尝试过使用
Clipboard.SetText(FrmMain.Text);
但它不起作用,任何人都有任何想法,或者我是否采取了错误的方式?
答案 0 :(得分:1)
将以下逻辑添加到私有方法,并在按钮单击处理程序中调用此方法。
StringBuilder text = new StringBuilder();
foreach (Control item in Controls)
{
if (item is TextBox)
{
text.Append(item.Text);
text.Append(',');
}
}
Clipboard.SetText(text.ToString());
修改强>
如果不检查控件类型是否为TextBox
,则只能获得如下文本框
foreach (Control item in Controls.OfType<TextBox>())
{
text.Append(item.Text);
text.Append(',');
}
答案 1 :(得分:0)
如果表单中的文本是静态的,您可以随时将其作为字符串添加到语句
Clipboard.SetText("Your String" + Textbox1.Text);
答案 2 :(得分:0)
您应该创建自己的方法来从所有控件中获取字符串。
private string GetFormText()
{
StringBuilder sb = new StringBuilder();
foreach (Control control in this.Controls)
{
if (control.GetType() == typeof (TextBox) ||
control.GetType() == typeof (ComboBox) ||
control.GetType() == typeof (Label))
{
String controlText = String.Format("{0}:{1}", control.Name, control.Text);
sb.AppendLine(controlText);
}
}
return sb.ToString();
}
然后您可以像这样保存表单文本:
Clipboard.SetText(this.GetFormText());