0

ピクチャボックス (アンカーは左、右、上、下に設定) とその他のコントロールを含むフォームがあります。フォームを最大化せずにフォームを最大化したときにピクチャボックスのサイズを取得する方法があることを知りたい

[picturebox の最大サイズに基づいて画像をトリミングする必要があります]

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 に答える