在执行期间将面板添加到C#中的表单

时间:2012-02-22 19:08:59

标签: c# winforms visual-studio-2010 user-interface

我第一次尝试重新创建一个我用Java制作的屏幕保护程序,其中包含一个随机改变颜色的面板网格。到目前为止,我已经获得了面板的代码,现在我正在尝试将它们添加到Form中以对布局进行原型设计。我计划确定在运行时显示的面板数量(这样16:9,4:3,16:10等都可以使屏幕保护程序看起来很好),但我从搜索中找到的唯一方法用于向表单添加元素的Internet涉及使用Visual Studio的设计工具。因此,我有几个问题:

如何以类似于Java的GridLayout的方式设置Form的布局?

向表单添加元素需要什么代码?

使用表单的而不是对我来说是否更好?

3 个答案:

答案 0 :(得分:4)

您可以在运行时以与设计者相同的方式向表单添加面板 - 构建Panel,并将其添加到表单中(通过this.Controls.Add(thePanel);)。

查看相应代码的最简单方法是使用设计器向表单添加面板,然后打开“YourForm.designer.cs”文件。设计人员只为您生成所需的代码 - 但您可以看到复制设计者所需的确切代码。

至于布局,我建议观看Layout Techniques for Windows Forms Developers视频。它可能会为您提供有关布局的各种选项的一些好线索。尽管有一些open source projects that attempt to duplicate this functionality

,但与Java的GridLayout完全不同

答案 1 :(得分:3)

您肯定需要创建一个表单应用程序才能使其正常工作。此外,您可以通过编程方式添加在设计器中看到的每个控件。

您可以根据需要使用一种方法来创建新面板....

以下是创建新面板的代码:

 Panel panel1 = new Panel(); 

声明后,您可以访问所有属性。

要将面板添加到表单,您可以执行类似的操作....

 myform.controls.add(panel1); 

知道这一点,您可以创建一个方法来格式化您的面板并返回或将其添加到表单中....

答案 2 :(得分:0)

您需要使用TableLayoutPanel或其他内容。然后,您可以使用Controls属性向其添加面板。