我有这样的代码,可以从文本框中的某些数组(可能有很多数组)生成随机问题。每个问题都由表单上的某个按钮询问,结果将被复制到剪贴板。
private void buttonHi_Click(object sender, EventArgs e)
{
string[] Hi = new string[]
{"How are you?", "What's up?", "How have you been?"};
Random X = new Random();
string Hi = Hi[X.Next(0, Hi.Length)];
TextBox.Text = Hi;
Clipboard.SetText(TextBox.Text);
}
private void buttonQuestion_Click(object sender, EventArgs e)
{
string[] Question = new string[]
{"Are you busy?", "What are you doing?", "Sleeping?"};
Random X = new Random();
string Hi = Question[X.Next(0, Question.Length)];
TextBox.Text = Question;
Clipboard.SetText(TextBox.Text);
}
所以我可以问候一个人或提问。当我问一个问题时,我的文本框中的问候语就会消失。但是,如果我想从不同按钮的结果中制作更长的短语呢?
所以我得到的结论是“你好,你好吗?你在做什么?” 有没有办法在不删除以前的文本的情况下将文本添加到文本框? 然后将整体结果复制到剪贴板。
同时有一个旧选项,用新按钮覆盖旧文本。我想在表单中进行这样的切换,但不知道该怎么做。
P.S。我知道我可以将两个数组连接到一个按钮并得到组合结果,但这不是我需要的,因为我可以有更多的按钮并以不同的组合使用它们。
答案 0 :(得分:1)
怎么样
m=a[2]
然后,当您说TextBox.Text = String.Format("{0} {1}", TextBox.Text, Question);
时,它会复制所有文本
编辑:
如果你想更换问题但保留问候语,那么我建议保留一个像这样的当前问题的参考
Clipboard.SetText(TextBox.Text);
答案 1 :(得分:1)
如果我完全理解你想在同一文本框中的问题中添加问题吗?
像:
TextBox.Text = TextBox.Text + " " + Question;
答案 2 :(得分:0)
您的问题由两部分组成。第一:
有没有办法将文本添加到文本框而不删除以前的文本?
是的,只需附上文字,如下:
TextBox.Text += " " + Question;
第二
然后将整体结果复制到剪贴板。
不确定。设置Clipboard
:
Clipboard.SetText(TextBox.Text);
答案 3 :(得分:0)
您可以使用以下AppendText
:
TextBox.AppendText("Hi");