如何使面板将图片合为一体

时间:2013-09-16 07:58:34

标签: c# winforms image

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

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

enter image description here

我需要得到什么。像这样的小组

enter image description here

我得到了什么

enter image description here

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);
    }

2 个答案:

答案 0 :(得分: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);
    }

这是结果

enter image description here

答案 1 :(得分: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);
    }