如何查看表单的不同位置?

时间:2014-05-13 22:39:09

标签: c# forms size windows-forms-designer

我的问题是如何查看表单的不同部分。例如,让我们创建一个包含以下属性的表单: 尺寸:280; 280

现在让我们说它将它分成4个盒子,左上角,右上角,左下角,右下角。 (所以每个盒子都是140; 140大,但它们各自的位置是不同的)

现在我想让我的用户在左上方的框中有3个选项'我们刚刚制作,我希望表格和这个盒子一样大。一旦我的用户点击了一个按钮,他就会转到其他一个“按钮”框中。并且也只是专门显示一个方框。并且还和这个盒子一样大。 所以实际上改变了我的表格的位置。

如果在表单中无法做到这一点,那么我只会制作一个不同的表单,并且我会做一个案例来检查点击了什么按钮,它将创建该特定表单。

编辑:我可能没有说过我使用的是Visual Studio 2013和WindowsFormsApplication。所以它确实是C#

1 个答案:

答案 0 :(得分:0)

虽然不完全是您描述的可移动视口,但您可以通过移动Panel控件来实现相同的效果,就像在此代码中一样。在Windows窗体设计器中,您拥有280,280表单,并且在该表单的每个象限中,您有一个140,140 Panel控件,您可以在其中放置每个象限的控件。对于下面的代码,panel1位于位置0,0并包含三个按钮。 panel2位于140,0,panel3位于0,140,panel4位于140,140。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        this.Size = new Size(140, 140);
    }

    private void button1_Click(object sender, EventArgs e)
    {
        moveFormToPanel(panel2);
    }

    private void button2_Click(object sender, EventArgs e)
    {
        moveFormToPanel(panel3);
    }

    private void button3_Click(object sender, EventArgs e)
    {
        moveFormToPanel(panel4);
    }

    private void moveFormToPanel(Panel panel)
    {
        this.Location = this.Location + new Size(panel.Location.X, panel.Location.Y);
        this.panel1.Visible = false;
        panel.Location = this.panel1.Location;
        panel.Visible = true;
    }
}