.Net学习 第3季03 winform应用程序 PictureBox Image Directory WebBrowser

.Net 视频学习第3季 winform应用程序 基础

 

Image类,图片类,载入一个图片到Image类对象的常用方法:

Image.FromFile(@"X://.../.jpg");

上述代码是通过绝对地址(全路径)载入图片。

 

PictureBox类,用于展示图片,PictureBox的常用属性有

Image:要展示的图片,变量类型是Image类的对象。

SizeMode:展示图片与Pictureox的尺寸关系,变量类型是枚举类型,变量名称是PictureBoxSizeMode,其中StretchImage是拉伸填充。

private void Form1_Load(object sender, EventArgs e)
        {
            this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
            this.pictureBox1.Image = Image.FromFile(@"X://.../.jpg");
        }

 

关于文件路径,除了有之前的Path类(全路径)和File类(文件名)之外,还有Directory类(文件夹类),文件夹类的一个静态方法是获取文件夹中所有文件的全路径,并存放在string[]内:

private void Form1_Load(object sender, EventArgs e)
        {
            string[] path = Directory.GetFiles(@"C:\Users\Cyrus\Desktop\DIP_Gonzalez_images\DIP3E_CH05_Original_Images");
            this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
            this.pictureBox1.Image = Image.FromFile(path[0]);
        }

 

实现点击按钮“上一张”和“下一张”(并允许循环显示)来显示相片。在Form1中定义上述的path,以及访问相片的index。注意,这些变量应该作为Form1的字段/属性,而不应该在某一个方法里定义,因为多于一个方法里会用到这些变量。

     string[] path = Directory.GetFiles(@"C:\Users\Cyrus\Desktop\DIP_Gonzalez_images\DIP3E_CH05_Original_Images");
        int index = 0;
        
        private void Form1_Load(object sender, EventArgs e)
        {
            this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
            this.pictureBox1.Image = Image.FromFile(path[0]);
        }

        private void btnP_Click(object sender, EventArgs e)
        {
            this.index--;
            if (this.index == -1)
            {
                this.index = this.path.Length - 1;
            }
            this.pictureBox1.Image = Image.FromFile(path[index]);
        }

        private void btnN_Click(object sender, EventArgs e)
        {
            this.index++;
            if (this.index == this.path.Length)
            {
                this.index = 0;
            }
            this.pictureBox1.Image = Image.FromFile(path[index]);
        }

注意index不要越出path[]的边界。

 

PictureBox,Image,Directory与Timer或者Random结合,就可以实现幻灯片播放和随机播放的效果了。

关于Directory类,这是一个静态类,提供一系列针对文件夹进行处理的静态方法。常用的方法包括:

创建文件夹

Directory.CreateDirectory(@"C:\Cyrus\a");

彻底删除空的文件夹

Directory.Delete(@"C:\Cyrus\a");

彻底删除非空文件夹以及其所包含的内容

Directory.Delete(@"C:\Cyrus\a", true);

剪切文件夹(还可以把文件夹名字改掉)

Directory.Move(@"C:\Cyrus\a", @"C:\Users\Cyrus\Desktop\b");

还有上边说到的获取该文件夹下所有文件的全路径

string[] path = Directory.GetFiles(@"C:\Users\Cyrus\Desktop\DIP_Gonzalez_images\DIP3E_CH05_Original_Images");

获取该文件夹下所有某类(某后缀)文件的全路径

string[] path = Directory.GetFiles(@"C:\Users\Cyrus\Desktop\DIP_Gonzalez_images\DIP3E_CH05_Original_Images", “*.jpg”);

获取该文件夹下所有文件夹的全路径

string[] path = Directory.GetDirectories(@"C:\Users\Cyrus\Desktop\DIP_Gonzalez_images\DIP3E_CH05_Original_Images");

判断文件夹是否存在,返回bool类型

Directory.Exists(@"C:\Cyrus\a");

 

 

WebBrowser控件,可以显示页面,其中最常用属性是Url,注意的是Url是一个Uri类的对象,字符串转Uri可以使用Uri类的构造方法Uri(string),另外,合法的Uri应该是以“http://”开头的,默认用户没有输入“http:”的习惯,需要我们自己补上。一下代码实现了将点击Button1后,TextBox1中的网址页面显示在WebBrowser1中。

private void button1_Click(object sender, EventArgs e)
        {
            string str = "http://" + this.textBox1.Text;
            this.webBrowser1.Url = new Uri(str);
        }

 

posted @ 2015-01-29 14:34  Cyrus Ho  阅读(361)  评论(0编辑  收藏  举报