Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows窗体面板控件缓慢爬行_C#_Winforms_Visual Studio - Fatal编程技术网

C# Windows窗体面板控件缓慢爬行

C# Windows窗体面板控件缓慢爬行,c#,winforms,visual-studio,C#,Winforms,Visual Studio,所以我在为TCG制作卡片。我似乎遇到了一个非常奇怪的问题,找不到一个像样的解决办法。我有几个面板,其中包含用于确定卡的不同变量的各种控件,如下所示: 但是,我注意到,如果我进入Form1.cs文件并更改代码--任何代码,从添加/删除注释到删除和恢复分号--然后返回到设计视图,则设计视图窗口会变黑一段时间,同时会重绘所有内容,然后弹回到原来的位置…除了各种面板的右侧被撞到了左侧大约5个像素。看起来不多,但在多次更改、多次在windows之间来回交换后,我得到了以下结果: …这当然是可怕的和无法

所以我在为TCG制作卡片。我似乎遇到了一个非常奇怪的问题,找不到一个像样的解决办法。我有几个面板,其中包含用于确定卡的不同变量的各种控件,如下所示:

但是,我注意到,如果我进入
Form1
.cs文件并更改代码--任何代码,从添加/删除注释到删除和恢复分号--然后返回到设计视图,则设计视图窗口会变黑一段时间,同时会重绘所有内容,然后弹回到原来的位置…除了各种面板的右侧被撞到了左侧大约5个像素。看起来不多,但在多次更改、多次在windows之间来回交换后,我得到了以下结果:

…这当然是可怕的和无法使用的。很长一段时间以来,我无法确定为什么一些面板会这样做,而另一些面板不会这样做,但最后,当我重新修改屏幕截图中的
关键字
选项卡时,我突然意识到,这是我设置为锚定在父控件左侧和右侧的任何面板。这是为了允许用户根据自己的心意调整窗口大小。我目前有一个乱码,我修改了
Form1.Load()
以硬编码受影响面板的大小。当然,这完全违背了使用可视化编辑器的初衷

控件的层次结构为
Form1
->
SplitContainer
->
SplitContainer.Panel2
->
TabControl
->
StatsTab
->
StatsPanel
。不幸的是,这似乎不是一个基于代码的问题,因为我没有编写任何代码来影响这一点。重画显然实际上改变了
StatsPanel.Size
属性,如果我来回循环,我可以看到它缓慢地减小


那么,有人知道可能出了什么问题吗?我不喜欢跳到“哦,微软的编辑器有一个小故障”,但我找不到任何其他我正在做的事情或设置可能导致它。任何帮助都将不胜感激。

这很难回答,因为这样的效果通常是由设计器代码中控件/面板嵌套的细节引起的问题。我能给你的最好建议是,你先尝试移除任何不必要的面板/控件容器,看看效果是否消失。我只能表示哀悼,因为我当时正在使用Inforgistics组件,在几个屏幕上,几个控件正在缓慢下降。我时不时地把它们拉上来,并学会了忍受它:(-我猜表单的某些部分被提取到单独的控件中只是为了摆脱这种行为……如果您的设计允许,那么您是否尝试了
yourPanel.Dock=Dock.Fill
而不是锚定?然后会发生什么?@AVIDeveloper问题是,我在这个面板下面还有其他面板,尽管我想这会导致他问我是否真的需要分割…我可能会试一试。谢谢。这很难回答,因为这样的效果通常是由设计器代码中控件/面板嵌套的细节引起的问题。我能给你的最好建议是,你先尝试删除任何不必要的面板/控件容器,然后查看如果效果消失。我只能表示哀悼,因为当时我正在使用Infregistics组件,在几个屏幕上,几个控件正在缓慢下降。我偶尔会再次将它们拉起来,并学会了如何应对:(-我猜表单的某些部分被提取到单独的控件中只是为了摆脱这种行为……如果您的设计允许,那么您是否尝试了
yourPanel.Dock=Dock.Fill
而不是锚定?然后会发生什么?@AVIDeveloper问题是,我在这个面板下面还有其他面板,尽管我想这会导致他问我是否真的需要分区…我可能会试一试。谢谢。