PictureBox を使用して画像を表示する単純なコードが機能しません (frm は私のフォームです)。
PictureBox pb = new PictureBox();
pb.Image = new Bitmap("1.jpg");
pb.SizeMode = PictureBoxSizeMode.Zoom;
frm.Controls.Add(pb);
このコードのイベントが発生すると、 NullReferenceExcpetion があります
エラーは次の場所で発生します。frm.Controls.Add(pb)
例外は次のとおりです。
System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。C:\Users\Алексей\Documents\Visual Studio 2010\Projects\NotepadCSharpSetup\WinFormsAgain\RealTrayForm\Test.cs:line 52 の Form1.HotKeyManager_HotKeyPressed (オブジェクト送信者、HotKeyEventArgs e) で
完全なコード:
static void HotKeyManager_HotKeyPressed(object sender, HotKeyEventArgs e)
{
Size ScreenSize = Screen.PrimaryScreen.Bounds.Size;
Bitmap image = new Bitmap(ScreenSize.Width, ScreenSize.Height);
using (Graphics g = Graphics.FromImage(image))
{
g.CopyFromScreen(Point.Empty, Point.Empty, ScreenSize);
}
Bitmap preview = new Bitmap(image.Width / 10, image.Height / 10);
using (Graphics gr = Graphics.FromImage(preview))
{
gr.SmoothingMode = SmoothingMode.AntiAlias;
gr.InterpolationMode = InterpolationMode.HighQualityBicubic;
gr.PixelOffsetMode = PixelOffsetMode.HighQuality;
gr.DrawImage(image, new Rectangle(0, 0, image.Width / 10, image.Height / 10));
}
preview.Save("1.jpg");
Form frm = (Form)sender;
PictureBox pb = new PictureBox();
pb.Image = new Bitmap("1.jpg");
pb.SizeMode = PictureBoxSizeMode.Zoom;
frm.Controls.Add(pb);
}