C# Windows窗体应用程序浮动到字符串

C# Windows窗体应用程序浮动到字符串,c#,string,floating-point,counter,windows-forms-designer,C#,String,Floating Point,Counter,Windows Forms Designer,下面是我的一些不起作用的代码。我想看到它可以计算文本框中的空格数,所以我让它在一个消息框中显示这个数字,现在它只抛出一个空白的。问题要么在浮点到字符串的转换中,要么在计数器中 private static string _globalVar = "n"; public static string GlobalVar { get { return _globalVar; } set { _globalVar = value; } }

下面是我的一些不起作用的代码。我想看到它可以计算文本框中的空格数,所以我让它在一个消息框中显示这个数字,现在它只抛出一个空白的。问题要么在浮点到字符串的转换中,要么在计数器中

    private static string _globalVar = "n";

    public static string GlobalVar
    {
        get { return _globalVar; }
        set { _globalVar = value; }
    }
    public Form1()
    {
        InitializeComponent();
        button1.Text = "Enter";
    }
    string LNum { get; set; }
    public void button1_Click_1(object sender, EventArgs e)
    {
        MessageBox.Show(LNum);
    }

    public void richTextBox1_TextChanged(object sender, System.Windows.Forms.KeyEventArgs e)
    {
        float n = 0;

        if (Control.ModifierKeys == Keys.Space)
        {   
            n = n + 1; ;
        }
        string.Format("{0:N1}", n);
        string LNum = Convert.ToString(n);

    }

您所做的是了解如何以及何时引发事件以及如何利用事件来定制应用程序行为的一种极好的方法,这与我们许多人多年来所做的类似

根据你所说的你想做的,有几个问题。如果你看一下这段代码,它会做你想做的事情

    public void button1_Click(object sender, EventArgs e)
    {
        int n = 0;
        for (int counter = 0; counter < richTextBox1.TextLength; counter++)
        {
            if (richTextBox1.Text[counter] == ' ')
            {
                n++;
            }
        }

        MessageBox.Show(n.ToString("N1"));
    }
public void按钮1\u单击(对象发送者,事件参数e)
{
int n=0;
用于(int计数器=0;计数器
关键的区别在于我只在点击按钮时查看输入的文本。(每次显示的文本发生更改时,都会运行TextChanged)。我选择不使用
float
变量来存储空格计数,因为计数始终是整数

此外,TextChanged
System.Windows.Forms.KeyEventArgs e
的参数不正确,如果正确绑定到
TextChanged
事件,将永远无法编译


KeyEventArgs
参数由
KeyUp
KeyDown
事件使用。如果使用这些事件,则每次按下空格键时都要计数,而不是文本框中的空格数。正如他们的名字所暗示的那样,每当键盘上的一个键向上(按下)和向下(释放)时,事件就会被触发。

哇,谢谢!我只是在胡闹,但你的评论帮了大忙,非常感谢!