C# winforms designer手工代码带到前台

C# winforms designer手工代码带到前台,c#,winforms,vb6,windows-forms-designer,vb6-migration,C#,Winforms,Vb6,Windows Forms Designer,Vb6 Migration,我正在将一些VB6表单转换为C#,并创建了一个实用程序,它可以从VB6源文件生成C#设计器文件。进展顺利,但我在订货时遇到了一些麻烦 我有一个选项按钮和一个向上向下的按钮在旁边,选项按钮的右侧与向上向下的按钮稍微重叠。我试着调整选项按钮的大小,但是没有可用的大小使标题可见 我考虑过将选项按钮更改为透明背景,但不幸的是,该解决方案不适用于我的所有表单 然而,我认为将updown放在前面或将option按钮放在后面肯定是可行的,但我不知道如何仅从设计器代码中实现这一点 如何从设计器代码将控件带到前面

我正在将一些VB6表单转换为C#,并创建了一个实用程序,它可以从VB6源文件生成C#设计器文件。进展顺利,但我在订货时遇到了一些麻烦

我有一个选项按钮和一个向上向下的按钮在旁边,选项按钮的右侧与向上向下的按钮稍微重叠。我试着调整选项按钮的大小,但是没有可用的大小使标题可见

我考虑过将选项按钮更改为透明背景,但不幸的是,该解决方案不适用于我的所有表单

然而,我认为将updown放在前面或将option按钮放在后面肯定是可行的,但我不知道如何仅从设计器代码中实现这一点


如何从设计器代码将控件带到前面或发送到后面?如果有人有一个不同的解决方案,让标题可见,我愿意接受建议。它只能在设计器代码中执行,因为这是我的工具生成的。

控件添加到其父控件的顺序决定了初始Z顺序。首先添加的控件将位于随后添加的控件的前面:

this.Controls.Add(updownButton);
this.Controls.Add(optionButton);

具体说明您的问题Z顺序是由控件的顺序决定的。InitializeComponent()方法内的Add()调用。修复听起来难以置信的低效,它将不再是一个简单的逐行转换。转换表单后,只需使用设计器进行修复。请记住,这个问题已经存在于VB.NET代码中,所以请提前解决,或者在转换代码中查找一个bug,如果它没有这个问题的话。实用工具我的问题很清楚我想做什么。。。Hans我不想在设计之后修改任何东西,因为我正在做500个表单,我不想目视检查所有表单并进行修改,因为这样做违背了目的。我发现这个视觉问题更多的是偶然的,我想修复它可能出现在所有表单上的问题,我不知道它是否出现在其他表单上。好的,这是一个很好的知识,但如果以不同于VB6文件中写入顺序的顺序添加它们,这将是一个巨大的痛苦,所以我真的希望找到另一个答案。。。如果我今天没有得到任何其他建议,那么我将不得不设法使这一个工作。这花了我一点时间,但我实际上能够实现这个修复比我想象的更快。我将其设置为执行控件。首先添加类型列表,以便在以后发现任何其他类型重叠时可以添加更多。谢谢你的帮助,可惜没有更直接的方法来做这件事,但我想你真的不应该直接编写设计器文件,所以我想你不能抱怨太多……很高兴听到你的工作进展顺利。最后,这一切都只是代码,唯一复杂的部分是让设计师满意。在我们公司,我们最终甚至选择删除所有设计器代码并应用我们自己的模板。