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