/*****************************************************************/
/*★ メニュー選択で、直接ファイルから画像を入力する 前田 稔 ★*/
/*****************************************************************/
using System;
using System.IO;
using System.Drawing;
using System.Windows.Forms;
public class MyForm : Form
{
//private string ImgFile = "c:\\data\\test\\kishi.jpg";
private string ImgFile = "";
public MyForm()
{
Paint += new PaintEventHandler(MyHandler);
// メインメニューを生成
MainMenu menu = new MainMenu();
// ファイルメニューを生成
MenuItem item = menu.MenuItems.Add("ファイル(&F)");
item.MenuItems.Add(new MenuItem("開く(&O)...", new EventHandler(this.FileOpen)));
item.MenuItems.Add("-");
// ファイル(終了)メニューを生成
item.MenuItems.Add(new MenuItem("終了(&X)", new EventHandler(this.FileExit), Shortcut.CtrlQ));
// フォームのメニューとしてセット
this.Menu = menu;
}
private void MyHandler(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
if (ImgFile!=string.Empty)
g.DrawImage(new Bitmap(ImgFile), new PointF(10F,10F));
}
// ファイル-開くメニューのイベントハンドラ
private void FileOpen(object sender, EventArgs e)
{
OpenFileDialog opendlg = new OpenFileDialog();
opendlg.Filter = "画像ファイル (*.jpg)|*.jpg|すべてのファイル (*.*)|*.*" ;
if (opendlg.ShowDialog() == DialogResult.OK)
{
// 選択画像を表示
ImgFile = opendlg.FileName;
Invalidate();
}
}
// ファイル-終了メニューのイベントハンドラ
private void FileExit(object sender, EventArgs e)
{ this.Close();
}
}
class image01
{
[STAThread]
public static void Main()
{
MyForm mf = new MyForm();
Application.Run(mf);
}
}
|