任务
实现一个简单图片查看工具,可在窗口中显示选定的图片,并且窗口大小随图片自动改变。
效果图
打开小图片:
打开大图片:
关键代码
控件
图片控件PictureBox。让它显示指定的图片:
pictureBox1.Image = Image.FromFile(filename);
选择图片文件,使用OpenFileDialog,通过Filter指定可显示哪些后缀的文件:
var dialog = new OpenFileDialog();dialog.Filter = "图片(*.jpg/*.png/*.gif/*.bmp)|*.jpg;*.png;*.gif;*.bmp";
布局
设置Dock
窗口中有两个控件,一个PictureBox用于显示图片,一个Button用于选择图片。通地设置它们的Dock,可以让它们始终依靠在父容器的某一边,不论它如何改变大小。
PictureBox的Dock选择Fill,如下图:
Button的Dock选择Bottom:
设完以后,窗口就变成了这样:
设置AutoSize
PictureBox的SizeMode都设为AutoSize:
窗口的AutoSize设为True,AutoSizeMode设为GrowAndShrink(增大或缩小):
这样它们都会根据自己的内容,改变自己的大小了。
完整代码
大功告成,完整代码如下:
using System;using System.Drawing;using System.Windows.Forms;namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { var dialog = new OpenFileDialog(); dialog.Filter = "图片(*.jpg/*.png/*.gif/*.bmp)|*.jpg;*.png;*.gif;*.bmp"; if (dialog.ShowDialog() == DialogResult.OK) { var filename = dialog.FileName; pictureBox1.Image = Image.FromFile(filename); } } }}
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。