0

我有一个包含图片框的表单(Anchor 设置为左​​、右、上和下)和一些其他控件,我想知道在不最大化表单的情况下最大化表单时是否可以获取图片框的大小,

[我必须根据图片框的最大尺寸裁剪图像]

4

1 回答 1

0

有几种方法可以解决这个问题。1. 移至 WPF。(Windows 窗体正在被弃用。) 2. 在运行时使用反射来获取图片框的属性。尝试这样的事情:

using System.Reflection;
private PictureBox DoSomethingWithProperties(PictureBox picturebox)
{
    Type pictureboxType = picturebox.GetType();
    PictureBox instance = (PictureBox)Activator.CreateInstance(pictureboxType)
    // The above code is only used to create an instance of the picturebox type. 
    // This will enable modification/changes to the picturebox property values during runtime via late-binding.
    PropertyInfo DefaultSize= instance.GetType().GetProperty("DefaultSize", BindingFlags.Public | BindingFlags.Instance);
    PropertyInfo ClientSize= instance.GetType().GetProperty("ClientSize", BindingFlags.Public | BindingFlags.Instance);
    PropertyInfo DefaultMaximumSize= instance.GetType().GetProperty("DefaultMaximumSize", BindingFlags.Public | BindingFlags.Instance);
    return instance;
}
于 2013-10-18T00:08:32.790 回答