4

我需要将 4 个不同的图像合二为一,它将在面板中。面板尺寸从 180 到 320 不等。我尝试做一个主面板,并在她的位置 4,由锚固定...

我有什么(来源四张图片)

在此处输入图像描述

我需要得到什么。像这样的面板

在此处输入图像描述

我得到了什么

在此处输入图像描述

private void Form1_Load(object sender, EventArgs e)
    {
        Panel main_panel = new Panel();
        main_panel.BackColor = Color.Azure;
        Panel panel_top_left = new Panel();
        Panel panel_top_right = new Panel();
        Panel panel_bottom_left = new Panel();
        Panel panel_bottom_right = new Panel();

        Bitmap btm_msg_panel_top_left = new Bitmap(Properties.Resources.blue_t_l);
        panel_top_left.BackgroundImage = btm_msg_panel_top_left;
        Bitmap btm_msg_panel_top_right = new Bitmap(Properties.Resources.blue_t_r);
        panel_top_right.BackgroundImage = btm_msg_panel_top_right;
        Bitmap btm_msg_panel_bottom_left = new Bitmap(Properties.Resources.blue_b_l);
        panel_bottom_left.BackgroundImage = btm_msg_panel_bottom_left;
        Bitmap btm_msg_panel_bottom_right = new Bitmap(Properties.Resources.blue_b_r);
        panel_bottom_right.BackgroundImage = btm_msg_panel_bottom_right;

        main_panel.Anchor = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Bottom;
        panel_top_left.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
        panel_top_right.Anchor = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Left;
        panel_bottom_left.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
        panel_bottom_right.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;

        main_panel.Controls.Add(panel_top_left);
        main_panel.Controls.Add(panel_top_right);
        main_panel.Controls.Add(panel_bottom_left);
        main_panel.Controls.Add(panel_bottom_right);

        panel1.Controls.Add(main_panel);
    }
4

2 回答 2

1

嗯......我会在我自己的帖子上回答:))

private void Form1_Load(object sender, EventArgs e)
    {
        Panel panel_top_left = new Panel();
        Panel panel_top_right = new Panel();
        Panel panel_bottom_left = new Panel();
        Panel panel_bottom_right = new Panel();


        Bitmap btm_msg_panel_top_left = new Bitmap(Properties.Resources.blue_t_l);
        panel_top_left.BackgroundImage = btm_msg_panel_top_left;
        Bitmap btm_msg_panel_top_right = new Bitmap(Properties.Resources.blue_t_r);
        panel_top_right.BackgroundImage = btm_msg_panel_top_right;
        Bitmap btm_msg_panel_bottom_left = new Bitmap(Properties.Resources.blue_b_l);
        panel_bottom_left.BackgroundImage = btm_msg_panel_bottom_left;
        Bitmap btm_msg_panel_bottom_right = new Bitmap(Properties.Resources.blue_b_r);
        panel_bottom_right.BackgroundImage = btm_msg_panel_bottom_right;


        panel_top_left.Width = btm_msg_panel_top_left.Width;
        panel_top_right.Width = btm_msg_panel_top_right.Width;
        panel_bottom_left.Height = btm_msg_panel_bottom_left.Height;
        panel_bottom_left.Width = btm_msg_panel_bottom_left.Width;
        panel_bottom_right.Height = btm_msg_panel_bottom_right.Height;
        panel_bottom_right.Width = btm_msg_panel_bottom_right.Width;


        panel_top_right.Location = new Point(panel_top_left.Width - panel_top_right.Width, 0);
        panel_bottom_left.Location = new Point(0, panel_top_left.Height - panel_bottom_left.Height);
        panel_bottom_right.Location = new Point(panel_top_left.Width - panel_bottom_right.Width, panel_top_left.Height - panel_bottom_right.Height);


        panel1.Controls.Add(panel_bottom_right);
        panel1.Controls.Add(panel_top_right);
        panel1.Controls.Add(panel_bottom_left);
        panel1.Controls.Add(panel_top_left);
    }

这是结果

在此处输入图像描述

于 2013-09-16T14:04:28.893 回答
0

看看这是否有帮助;

    private void Form1_Load(object sender, EventArgs e)
    {
        Panel main_panel = new Panel();
        main_panel.BackColor = Color.Azure;
        Panel panel_top_left = new Panel();
        Panel panel_top_right = new Panel();
        Panel panel_bottom_left = new Panel();
        Panel panel_bottom_right = new Panel();

        Bitmap btm_msg_panel_top_left = new Bitmap(Properties.Resources.blue_t_l);
        panel_top_left.BackgroundImage = btm_msg_panel_top_left;
        Bitmap btm_msg_panel_top_right = new Bitmap(Properties.Resources.blue_t_l);
        panel_top_right.BackgroundImage = btm_msg_panel_top_right;
        Bitmap btm_msg_panel_bottom_left = new Bitmap(Properties.Resources.blue_t_l);
        panel_bottom_left.BackgroundImage = btm_msg_panel_bottom_left;
        Bitmap btm_msg_panel_bottom_right = new Bitmap(Properties.Resources.blue_t_l);
        panel_bottom_right.BackgroundImage = btm_msg_panel_bottom_right;

        main_panel.Anchor = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Bottom;
        panel_top_left.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom;
        panel_top_right.Anchor = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Bottom;
        panel_bottom_left.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
        panel_bottom_right.Anchor = AnchorStyles.Bottom | AnchorStyles.Right | AnchorStyles.Left;

        main_panel.Controls.Add(panel_top_left);
        main_panel.Controls.Add(panel_top_right);
        main_panel.Controls.Add(panel_bottom_left);
        main_panel.Controls.Add(panel_bottom_right);

        panel1.Controls.Add(main_panel);
    }
于 2013-09-16T10:45:10.900 回答