-3

;) 我目前正在开发一个 WPF 应用程序,其主要功能是在视图中绘制多项式。所以我有一个带有画布和一个子模态窗口的主窗口,我可以在其中设置多项式的参数,还有一个列出所有先前多项式的列表框。当我按下 OK 按钮时,模态窗口关闭并在主窗口中我代码如下所示:

        PanelParametros pn = new PanelParametros();
        pn.Owner = this;
        pn.ShowDialog();
        Polynomial p= new Polynomial();

       if (pn.DialogResult == true)
        {

        if (!String.IsNullOrEmpty(pn.boxA.Text))
            {
                valueA = float.Parse(pn.boxA.Text);
            }
       p.setvalueA(valueA); 
       // ..... //
      //Set the rest of parameters to my p object

我发现的问题是如何区分当我在添加新多项式后按下“确定”按钮时以及当我刚刚从列表框中删除一些多项式时。

因为现在每次按下 OK 按钮时它的编码方式我都会创建一个多项式对象的实例,有时这不是我想要的。

提前感谢世界上所有的程序员,圣诞快乐哈哈!

4

1 回答 1

0

您可以在模态表单中引入一个取消按钮,并明确检查“pn.DialogResult == DialogResult.OK”以检测实际按下了 OK。如果模态表单是通过取消留下的,则主表单中不会发生任何事情。

另一种方法是记住最近显示的多项式,并且仅在可以检测到某些更改时才重新绘制。这可以通过计算所有多项式参数的哈希和来完成。只有当哈希和发生变化时,重绘才有意义。

于 2012-12-27T13:06:43.847 回答