解决方案 »

  1.   

    你应该  没循环一次,计算一次PictureBox的位置。
      

  2.   

    设置下Location
    http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.location(v=vs.80).aspx
      

  3.   

    刚好前几天我也写了一个 你看看
    foreach (System.IO.FileInfo file in files)
                            {
                                if (i3 >= 12)
                                {
                                    MessageBox.Show("请清理不需要的快捷方式!");
                                    break;
                                }
                                i3++;
                                WshShell shell = new WshShell();
                                IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut("C:\\Program Files\\Q test\\easy goto\\" + file.Name + "");
                                PictureBox pb = new PictureBox();
                                pb.Size = new Size(38, 34);                            int k3;
                                if (i3 <= 6)
                                {
                                    k3 = 61;
                                }
                                else
                                {
                                    k3 = 2;
                                }
                                pb.Location = new Point((i3 % 6+1) * 100 - 60, k3);
                                pb.SizeMode = PictureBoxSizeMode.StretchImage;
                                pb.BackColor = Color.Transparent;
                                pb.Tag = file.Name;
                                pb.BorderStyle = BorderStyle.None;
                                panel22.Controls.Add(pb);
                                Label lb = new Label();
                                lb.BackColor = Color.Transparent;
                                lb.Font = new Font("Cambria", 7, FontStyle.Regular);
                                string k  = file.Name.Remove(file.Name.Length - 8, 8);
                                if (k.Length <= 10)
                                {
                                    lb.Text = k;
                                    lb.Tag = file.Name;
                                }
                                else
                                {
                                    lb.Text = k.Substring(0, 10)+"...";
                                    lb.Tag = file.Name;
                                }
                                if (k.Length <= 6)
                                {
                                    lb.Location = new Point(pb.Location.X -2, pb.Location.Y + 38);
                                }
                                else
                                {
                                    lb.Location = new Point(pb.Location.X - 5, pb.Location.Y + 38);
                                }
                                lb.ForeColor = Color.White;
                                panel22.Controls.Add(lb);
      

  4.   

    大概意思就是你要添加几个 就事先定义几个的变量  然后用这个变量来计算每个图片的位置 
    pb.Location = new Point((i3 % 6+1) * 100 - 60, k3);
      

  5.   

    pictureBoxX.Width = ScreenArea.Width;
                    pictureBoxX.Height = ScreenArea.Height;
    一张图片就把整个屏幕占满了,其他的那还有地方显示
      

  6.   

    正解流布局,类似网页CSS中的float,所以不是location的问题
    问题是它将每个picbox的尺寸都设置为显示器的尺寸了,导致picturefLPanel显示不下去
    控制间隔可以设置pictureBoxX.Margin = new Padding(5);
                    
               
      

  7.   

    正解流布局,类似网页CSS中的float,所以不是location的问题
    问题是它将每个picbox的尺寸都设置为显示器的尺寸了,导致picturefLPanel显示不下去
    控制间隔可以设置pictureBoxX.Margin = new Padding(5);
                    
               是的,还有一个问题是我设置了autoscroll,为什么panel没有出现滚动条