在运行时设置XRPictureBox的宽度

时间:2018-02-26 13:10:46

标签: winforms devexpress xtrareport

我正在创建devexpress xtrareport的xrpicturebox,如下所示。

        if (dtPath.Rows.Count <= 0) return;

        var panelResimler = new XRPanel {Width = 800};

        float x = 0;
        float y = 0;

        for (var i = 0; i < dtPath.Rows.Count; i++)
        {
            XRPictureBox xrPictureBox1 = new XRPictureBox
            {

                ImageUrl = dtPath.Rows[i]["DokumanYolu"].ToString(),
                Sizing = ImageSizeMode.AutoSize,
                Dpi = 100F,
                LocationFloat = new DevExpress.Utils.PointFloat(x, y),
                Name = "xrPictureBox1",
            };

            //if (xrPictureBox1.Width > 800)
            //{
            //    xrPictureBox1.Width = 800;
            //}

            if (xrPictureBox1.Right > 800)
            {
                xrPictureBox1.Left = 0;
            }
            else
            {
                xrPictureBox1.Top = 0;
            }

            if (xrPictureBox1.Bottom > y) y = xrPictureBox1.Bottom;
            x = xrPictureBox1.Right;

            panelResimler.Controls.Add(xrPictureBox1);
        }

        Detail2.Controls.Add(panelResimler);

问题是,当我使用面板时,图像部分在尺寸不适合报告时不可见。 BTW评论部分对此没有帮助。

如果我不使用面板,那么时间图像拉伸到severap页面。

有没有任何解决方案来限制页面宽度的图像宽度?

这就是我的愿望 This is what I desire

这是没有面板的 This is without panel

提前吃完......

1 个答案:

答案 0 :(得分:0)

ImageSizeMode.AutoSize模式不会设置控件的特定大小 - 它将在打印/文档生成过程中更正。因此,您不应该查看控件大小(右侧和底部属性),您可以将图片大小更改为页面大小除以行中的图片数量(如果我正确理解您的方案)并将PictureBox大小调整模式设置为缩放图像或挤压(或类似的)。