程序仅在调试模式下正常工作

时间:2016-09-02 08:28:00

标签: c# winforms visual-studio debugging dll

以下是我之前的问题,如果您想了解有关我当前问题的更多信息:

WinForm: Inherited Panel wont Autosize

如果您不想通读它,我会给您一些一般信息:

  • 我没有直接通过该程序工作,我只是编辑了一个特定的DLL,该程序使用了该程序
  • 这意味着,我无法访问此特定程序的源代码
  • 这也意味着我必须通过DLL中的一些更改解决这个问题,就像我之前提到的 - 这个程序使用的。

到目前为止我发现了什么:

  • 如果我将程序附加到VS2015中DLL的源代码中,它可以正常工作。
  • 但是如果我构建代码然后将DLL复制到程序的文件夹中会有一些小故障 - 这也是我的实际问题:它以某种方式将tableLayoutpanel缩小到实际大小的一半而且我得到了在实际的另一半中有一些奇怪的故障,在正常的开始不知何故没有使用,大小。

我尝试了什么:

  • 我手动更改了尺寸,而不是通过"Dock = Fill" or "Autosize = true"来改变尺寸。但是,正如大家可能知道的那样,这不是最好的解决方案,我们只想使用它,如果绝对没有办法解决它。没有人喜欢硬编码。

  • 我尝试通过以下方式继承其父级大小:

    this.tablelayoutPanel.Size = this.Size;
    this.tableLayoutPanel.Size = new Size(this.Height, this.Size);

那么你们有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好吧,我没有弄清楚为什么debuger工作和发布/调试版本没有。但我只是用Application.DoEvents()强制在tableLayoutPanelMainwith上重绘。我以前从未尝试过这个问题,因为Invalidate() + Update()Refresh()不起作用 - 我就像:好吧,那不会那么容易,所以就这样忘了。

但经过一些试验和错误和很多时间......好吧,我工作了两个星期......我尝试了最简单的事情和YEAHY,它有效!

无论如何,谢谢你的帮助,伙计们。我很欣赏。