是按照MSDN教程写的。
添加控件: picturebox1,openfiledialog1,colordialog1,4个button(分别命名:close,background,clear,show_picture),checkbox1(命名:stretch)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace tutorial1_picture_viewer
{
public partial class Form1 : Form
{
// this.enter += new System.Windows.Forms.KeyPressEventHandler(this.enter);
public Form1()
{
InitializeComponent();
}
private void showButton_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog()==DialogResult.OK) {
pictureBox1.Load(openFileDialog1.FileName);
}
}
private void clearButton_Click(object sender, EventArgs e)
{
pictureBox1.Image = null;
}
private void backgroundButton_Click(object sender, EventArgs e)
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
pictureBox1.BackColor = colorDialog1.Color;
}
private void closeButton_Click(object sender, EventArgs e)
{
this.Close();
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
else
pictureBox1.SizeMode = PictureBoxSizeMode.Normal;
}
private void enter(object sender, KeyEventArgs e)//事件设置在form上,form的keyPreview属性要设置成true
{
if (e.KeyValue == 13) { //按下enter键后,自动打开文件选择框
e.Handled = true;
openFileDialog1.ShowDialog();
pictureBox1.Load(openFileDialog1.FileName);
}
if (e.KeyValue == 27) {//按下esc后,自动关闭文件选择框
e.Handled = true;
this.DialogResult = DialogResult.Cancel;//这个要注意
}
}
private void entershowButton_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{ e.Handled = true;
openFileDialog1.ShowDialog();
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}