解决方案 »

  1.   

    可以在panel上自己摆控件,调整位置就行了
      

  2.   

    flowLayoutPanel
    TableLayoutPanel
    设置AutoScroll为true就可以。
      

  3.   

    谢谢,我其实也是准备这么做的,就是每次的位置数并不固定,可能只有一个位置,也可能很多,所以每次得动态加载每个位置上的图片,得先计算摆放在Panel中的Picturebox的具体坐标值然后Add,稍微有点小麻烦。
      

  4.   

    谢谢,我先MSDN学习一下这两个控件的用法。
      

  5.   

    谢谢,我其实也是准备这么做的,就是每次的位置数并不固定,可能只有一个位置,也可能很多,所以每次得动态加载每个位置上的图片,得先计算摆放在Panel中的Picturebox的具体坐标值然后Add,稍微有点小麻烦。
    winform动态生成设置location还是很方便的,何况你也不知道有几个图片,写个算法固定图片空间的宽度 高度 ,然后循环添加进panel就好了,location每循环一次加一个固定值就好了,
      

  6.   

    谢谢,我先MSDN学习一下这两个控件的用法。flowLayoutPanel和panel差不多 只不过拉伸后布局会自动变化
    TableLayoutPanel和panel差别就有点大了 把控件拖入表格 让界面看起来回工整一些
      

  7.   

    谢谢,是的,其实我就是想做个横向显示的Listbox,然后显示的每一项不是文字而是图片。
      

  8.   

    做了一大半了,现在换WPF来不及了,下次吧。
      

  9.   

    谢谢,我其实也是准备这么做的,就是每次的位置数并不固定,可能只有一个位置,也可能很多,所以每次得动态加载每个位置上的图片,得先计算摆放在Panel中的Picturebox的具体坐标值然后Add,稍微有点小麻烦。
    winform动态生成设置location还是很方便的,何况你也不知道有几个图片,写个算法固定图片空间的宽度 高度 ,然后循环添加进panel就好了,location每循环一次加一个固定值就好了,
    谢谢,你说的这个动态生成设置location指的是属性窗口中显示的那个Location值吗?我也是准备在Panel中选一个起始点,然后固定PictureBox的Size,每次加载时先取得本次的位置数(也就是PictureBox的个数),然后把第一个PictureBox放在前面那个起始点,剩下的PictureBox根据Size值叠加从而循环改变起始点Location的值一个一个加进来的。
      

  10.   

    谢谢,我其实也是准备这么做的,就是每次的位置数并不固定,可能只有一个位置,也可能很多,所以每次得动态加载每个位置上的图片,得先计算摆放在Panel中的Picturebox的具体坐标值然后Add,稍微有点小麻烦。
    winform动态生成设置location还是很方便的,何况你也不知道有几个图片,写个算法固定图片空间的宽度 高度 ,然后循环添加进panel就好了,location每循环一次加一个固定值就好了,
    谢谢,你说的这个动态生成设置location指的是属性窗口中显示的那个Location值吗?我也是准备在Panel中选一个起始点,然后固定PictureBox的Size,每次加载时先取得本次的位置数(也就是PictureBox的个数),然后把第一个PictureBox放在前面那个起始点,剩下的PictureBox根据Size值叠加从而循环改变起始点Location的值一个一个加进来的。panel2.AutoScroll = true;
                for (int i = 0; i < 10; i++)
                {
                    PictureBox pic = new PictureBox();
                    pic.Image = Image.FromFile("D:\\55test\\image\\red.png");
                    pic.Width = 45;
                    pic.Height = 45;
                    pic.Location = new Point(0+46*i,0);
                    panel2.Controls.Add(pic);
                }这就是你要的效果 
      

  11.   

    谢谢,我其实也是准备这么做的,就是每次的位置数并不固定,可能只有一个位置,也可能很多,所以每次得动态加载每个位置上的图片,得先计算摆放在Panel中的Picturebox的具体坐标值然后Add,稍微有点小麻烦。
    winform动态生成设置location还是很方便的,何况你也不知道有几个图片,写个算法固定图片空间的宽度 高度 ,然后循环添加进panel就好了,location每循环一次加一个固定值就好了,
    谢谢,你说的这个动态生成设置location指的是属性窗口中显示的那个Location值吗?我也是准备在Panel中选一个起始点,然后固定PictureBox的Size,每次加载时先取得本次的位置数(也就是PictureBox的个数),然后把第一个PictureBox放在前面那个起始点,剩下的PictureBox根据Size值叠加从而循环改变起始点Location的值一个一个加进来的。panel2.AutoScroll = true;
                for (int i = 0; i < 10; i++)
                {
                    PictureBox pic = new PictureBox();
                    pic.Image = Image.FromFile("D:\\55test\\image\\red.png");
                    pic.Width = 45;
                    pic.Height = 45;
                    pic.Location = new Point(0+46*i,0);
                    panel2.Controls.Add(pic);
                }这就是你要的效果 严重感谢,你执行力真强!
    CSDN这效率真不是盖的,2个小时方案和代码全有了,结贴!