设计视图空白Windows窗体在Visual Studio 2017年
问题描述:
我的解决方案开辟了代码编辑器Form1.cs的通过右键单击Form1.cs中,我创建在Visual Studio中一个新的Windows窗体项目浏览器,然后点击查看代码。设计视图空白Windows窗体在Visual Studio 2017年
然后我在我自己的一些代码加入,使Form1中现在如下:
public partial class Form1 : Form
{
Button button1;
Button button2;
public Form1()
{
InitializeComponent();
Size = new Size(700, 500);
FormBorderStyle = FormBorderStyle.FixedDialog;
button1 = new Button();
button1.Size = new Size(60, 40);
button1.Location = new Point(30, 30);
button1.Text = "Button 1";
this.Controls.Add(button1);
button2 = new Button();
button2.Size = new Size(60, 40);
button2.Location = new Point(100, 30);
button2.Text = "Button 2";
this.Controls.Add(button2);
button1.Click += new EventHandler(AnyButton_Click);
button2.Click += new EventHandler(AnyButton_Click);
}
private void AnyButton_Click(object sender, EventArgs e)
{
MessageBox.Show("You clicked a button!");
}
}
当我运行该项目,Form1上绘制完全按照预期,按一下按钮事件做工精细。
但是,设计者视图(Form1.cs [Design])向我显示一个空白表单。 有谁知道如何解决这个问题,以便我可以添加自己的代码,但它会反映在设计视图中?
答
有两种方法,才能使按钮运行之前出现:
- 使用拖放工具(称为表单设计器),你当你双击
MyUserControl.cs
文件添加他们。 - 在扩展
MyUserControl.cs
的设计器文件(MyUserControl.Designer.cs
)中加入代码。我会不是虽然推荐这个,因为你可以很快弄糟一些东西。
想知道更多?
因为它可以在下面的图片中可以看出,Windows窗体包括三个项目:
资源文件(
MainWindow.resx
):可以包含由形式使用的资源,但这是没有什么关系的在这个话题中。设计器文件(
MainWindows.Designer.cs
):拖放设计器的代码版本。在这里,你可以实际编码你的图形,而不是使用图形设计器。我不会推荐这个。如果你喜欢编写你的UI的想法,可以看看WPF。“主”文件(
MainWindow.cs
):这应该是您使用GUI的主要访问权限。双击它,在Visual Studio设计器窗口中打开GUI。在这里,您可以将项目拖放到表单上,并修改其属性(和事件)。您也可以右键单击它并选择“查看代码”以转到表单后面的代码。这也是生成事件代码的地方。
这是预期的行为。设计者不会调用窗体构造函数。在运行应用程序之前,您不会看到任何手动添加的控件。 – Crowcoder
它可能是空白的,因为你没有在设计器上放置任何东西。您改为选择手动编写代码。这很好,只是效率不高。考虑从工具箱中删除这两个按钮,并使用属性窗口设置Size和FormBorderStyle属性。现在它不再是空白。 –
好的,所以你必须在处理编码控制和与设计师合作之间作出直接选择? –