我需要验证的x数量RichTextBox
我按动按钮创建。在将内容复制到剪贴板并调用下一个表单之前,我需要确保没有单个RTB为空。验证动态创建的richtextboxes
我试着添加一个布尔变量,但是如果一个空RTB在中间的某个地方,它会被跳过。
这是我现在的代码。任何帮助是极大的赞赏。
List<RichTextBox> rtbs = scrlPanel.Children.OfType<RichTextBox>().ToList();
List<TextBlock> texts = scrlPanel.Children.OfType<TextBlock>().ToList();
StringBuilder raTemplate = new StringBuilder();
//bool flag = true; // True as in It is empty
foreach (RichTextBox rtb in scrlPanel.Children.OfType<RichTextBox>())
{
TextRange txtRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
if (txtRange.Text.Trim() == string.Empty)
{
MessageBox.Show("Empty fields.");
break;
}
else
{
foreach (TextBlock txtb in texts)
{
//RichTextBox rtb = rtbs[texts.IndexOf(txtb)];
//TextRange txtRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
raTemplate.Append(txtb.Text + " " + "::" + Environment.NewLine + txtRange.Text.Trim() + Environment.NewLine);
}
Clipboard.SetText(raTemplate.ToString());
RA_Email ra = new RA_Email();
ra.raEmail();
//flag = true;
}
}
如果第三个RTB是空的,例如,您想跳过其余还是跳过第三个RTB?或者你还想撤消前两个? – keyboardP 2013-04-23 16:48:10
几乎你的第一篇文章(代码)解决了我的问题:)但是,是的,我想在代码遇到空RTB时立即丢弃所有内容,无论是在开始,在中间还是在结尾。 – hectormtnezg 2013-04-23 16:57:36
我删除了那篇文章,因为我意识到'txtRange'不会在第一个循环之外存在。转贴了应该与'txtRange'变量一起工作的更新版本:) – keyboardP 2013-04-23 17:07:22