繁体   English   中英

无法计算从richtextbox到标签的单词?

[英]Can't count words from richtextbox to label?

我不确定这里有什么问题,但我正在尝试在富文本框中计算单词,并用标签显示。

我在一个选项卡控件中放了一个richtextbox,这样我就可以有一个标签文本框。 这似乎使它变得更加困难

这也不是整个程序,我拿了与richtextbox和word counter相关的部分

任何帮助表示赞赏:)

    public RichTab()
    {
        InitializeComponent();
        TabPage tp = new TabPage("Document");
        RichTextBox rtb = new RichTextBox();
        rtb.Dock = DockStyle.Fill;
        tp.Controls.Add(rtb);
        tabControl1.TabPages.Add(tp);
        WordCount();
    }

    public RichTextBox RTTB()
    {
        RichTextBox rtb = null;
        TabPage tp = tabControl1.SelectedTab;
        if (tp != null)
        {
            rtb = tp.Controls[0] as RichTextBox;
        }
        return rtb;
    }

    private void WordCount()
    {
        MatchCollection wordColl = Regex.Matches(RTTB().Text, @"[\W]+");
        label2.Text = wordColl.Count.ToString();   
    }

我可能只是连接RichTextBox的TextChanged事件,并在那里计算单词:

rtb.TextChanged += rtb_TextChanged;

然后计算单词(使用Giorgio Minardi的正则表达式):

private void rtb_TextChanged(object sender, EventArgs e) {
  label2.Text = Regex.Matches(((RichTextBox)sender).Text, @"[\S]+").Count.ToString();
}

什么是实际问题? 这是计算单词的简单例程:

[Test]
public void CountWords()
{
    const string sample = "How you doing today ?";
    MatchCollection collection = Regex.Matches(sample, @"[\S]+");
    var numberOfWords = collection.Count;
    //numberOfWords is 5
    Assert.IsTrue(numberOfWords == 5);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM