一个非常简单的问题,竟然用了两个小时,查了N多资料也没有解决。.net的winfrom内伤很深。说一下问题,不对之处请达人指点:三个textbox,前两个在textchanged事件中写代码,用于输入数据后相乘运算,第三个显示运算后的值。如果您运行这么简单的代码,当然不会出错,非常顺利。但是,如果这三个textbox绑定到一个数据源上,那么您再试试。保证会头大一圈。
如果说不是BUG,那么很难想象一个这么简单的控件,在表现行为上,依据绑定与否会有这么大的差别。还有很多类似的东西,叫人非常不爽!!!也许学艺不精,还请达人指点。

解决方案 »

  1.   

    lz这样试一下,Load时,把要绑定的数据先赋给一个变量,然后textbox3.text=变量这时再textchanged事件应该就不会再有意外了吧
      

  2.   

    这样试试:
    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        int A = 0, B = 0;
        int.TryParse(textBox1.Text, out A);
        int.TryParse(textBox2.Text, out B);
        textBox3.Text = (A + B).ToString();
        textBox3.DataBindings["Text"].WriteValue();
    }
      

  3.   

    binding  尽量还不是少用的好。考虑更自主些的方式吧。
      

  4.   

    反对
    WinForm很多控件很优秀,远比WebForm方便
      

  5.   

    为啥要绑定啊?!
    要是绑定的话,LZ可以再Setting_changing上写代码,
    问题应该可以解决吧.
      

  6.   

    一定要绑定吗?你可以在DataTable中把那个对应第三个TextBox的列设置为计算字段啊。