【发布时间】:2013-08-21 21:41:57
【问题描述】:
我有一个 c# 表单,它允许用户指定一个微分方程 (dy/dt = -lambda*y) 来精确和近似地求解(通过输入初始条件、时间步长和 lambda 的期望值到文本框)。单击一个按钮可以计算解决方案并在它们随时间变化时将它们以数字形式显示在框中(使用计时器)。当计时器结束时,“模拟完成”会显示在 MessageBox 中。
此时,单击“绘制图形”按钮会调用 zedGraph 来绘制精确解和近似解。计算和绘制解决方案没有问题。问题是 timeStep 的标签和文本框(我在添加 zedGraph 部分后添加)和“绘制图形”按钮叠加在图形上,部分遮挡了它。 lambda 和初始条件的文本框和标签在 zedGraph 部分之前添加到程序中,并且不会叠加。
有没有办法让timeStep标签和textBox不叠加而无需重新编写程序,在zedGraph部分之前添加textBox?
总结一下:你添加东西的顺序(至少我做的方式,如果不是一般的话)决定了会发生什么:在添加 zedGraph 部分之前添加一个文本框意味着它不会叠加在图形。添加 zedGraph 部分后添加一个文本框,它确实会叠加在图形上。我正在寻找一种能够添加额外功能的方法,已经添加了 zedGraph 部分,而不会将它们叠加在图表上。
您可以在此处查看 3 个屏幕截图,其中 2 个是问题解决之前的屏幕截图,1 个是在此之后的屏幕截图:
这是问题的截图:
【问题讨论】:
-
把东西移到图表之外怎么样?您没有向我们提供有关此问题的几乎足够的信息来实际帮助您解决它。为什么要重新编写程序,为什么不直接更改现有程序?
-
请添加段落,你的问题伤了我的眼睛(按两次回车)
-
据我所知,这是一个关于表单布局的问题,而不是关于微分方程的问题。标题应该反映这一点。
-
我可以将它们移出图表,但我认为它看起来不太好。我宁愿改变现有的程序:这就是我试图找出如何工作的原因。再次编写程序应该可以工作的原因是因为插入各种项目的顺序(特别是,给定项目是在添加 zedGraph uer 控件之前还是之后插入)决定了它是否出现在图表上。因此,如果我在其他所有内容之后添加 zedGraph 用户控件,我认为这可能会起作用,但它有点啰嗦。 @Lasse V.卡尔森
-
也许最好的解决方案是在现有表单上设置一个按钮,该按钮加载一个新表单,然后如果可能的话,该表单仅用于使用 zedGraph 绘制图形。
标签: c# winforms visual-studio-2010 zedgraph