亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#編程實(shí)現(xiàn)簡(jiǎn)易圖片瀏覽器的方法

 更新時(shí)間:2015年11月28日 12:41:09   作者:期待秋天的葉  
這篇文章主要介紹了C#編程實(shí)現(xiàn)簡(jiǎn)易圖片瀏覽器的方法,涉及C#基于WinForm操作圖片實(shí)現(xiàn)預(yù)覽功能的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C#編程實(shí)現(xiàn)簡(jiǎn)易圖片瀏覽器的方法。分享給大家供大家參考,具體如下:

首先需要加上命名空間 using system.io;

拖一個(gè)PICTUREBOX,兩個(gè)TEXTBOX

string fold = "";//用來(lái)存不包含文件后綴名的路徑 
string[] files;//用來(lái)存當(dāng)前所有統(tǒng)一后綴文件的總路徑 
int pos=0;//用于圖片切換 
private void button1_Click(object sender, EventArgs e) 
{ 
   OpenFileDialog of = new OpenFileDialog();//打開(kāi)“打開(kāi)文件”對(duì)話(huà)框 
   of.Title = "打開(kāi)圖像文件";//命名 
   of.Filter = "圖像文件|*.bmp;*.jpg";//選擇文件 
   if (of.ShowDialog() == DialogResult.OK && of.FileName != "") 
   { 
     int p = of.FileName.LastIndexOf(@"\");//得到斜杠的索引 
     fold = of.FileName.Substring(0, p + 1);//得到除了文件后綴的(包含斜杠)的路徑 
     FileInfo fi = new FileInfo(of.FileName);//一種io下的實(shí)例方法 
     string ext = fi.Extension;//利用上面的方法取得擴(kuò)展名 
     textBox1.Text = of.FileName;//總路徑 
     label1.Text = fold;//不含后綴,這兩行代碼完全是給讀者看的 
     Image image = Image.FromFile(of.FileName);//實(shí)例化一個(gè)圖片,該圖片是你選擇的那張圖片 
     pictureBox1.Image = image;//將該圖片放入空間內(nèi) 
     files = Directory.GetFiles(fold, "*" + ext);//將所有當(dāng)下文件夾下的圖片文件的全路徑放在該數(shù)組內(nèi) 
   } 
} 
private void button2_Click(object sender, EventArgs e) 
{  //下一張圖片 
   pos++; 
   if (pos >=files.Length) 
   { pos = 0; } 
   string file = files[pos].ToString(); 
   Image image = Image.FromFile(file); 
   pictureBox1.Image = image; 
} 
private void button3_Click(object sender, EventArgs e) 
{ //上一張圖片 
   pos--; 
   if (pos < 0) 
   { pos = files.Length - 1; } 
   string file = files[pos].ToString(); 
   Image image = Image.FromFile(file); 
   pictureBox1.Image = image; 
}

效果圖如下:

問(wèn)題總結(jié)如下:

1. 所有的文件名字都存在數(shù)組files里面,按說(shuō)files[ ]里的元素就固定了??墒?,無(wú)論先打開(kāi)哪一張圖片,點(diǎn)擊下一張后,都可以正確的讀出下一張(問(wèn)題是POS的初值是0,無(wú)論打開(kāi)哪張,下一張的執(zhí)行命令都會(huì)搜索到files[1],可每次打開(kāi)的圖片不同啊,用相同的files[1]怎么還能搜索到自己對(duì)應(yīng)的下一張呢,這個(gè)數(shù)組到底是咋存的)

解決方案:其實(shí)每次的files[1]是不同的,因?yàn)榈谋热缒阆却蜷_(kāi)第二張圖片,那么第一,二,三,四張圖片對(duì)應(yīng)的數(shù)組元素應(yīng)該是files[3],files[0],files[1],files[2];如果先打開(kāi)第一張圖片,那么files[0]應(yīng)該默認(rèn)的是第一張圖片,files[1]自然就是第二張了(只有這樣才能說(shuō)的通)。

2. 如上圖,圖片只顯示了一部分,并沒(méi)用顯示全,可能是由于控件太小了。
解決方案:為了讓圖片的顯示與PICTUREBOX相符,在button1里加如下語(yǔ)句:

復(fù)制代碼 代碼如下:
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

此外還有個(gè)小BUG,如果一共有4張圖片,先打開(kāi)第四張后點(diǎn)擊下一張,會(huì)出現(xiàn)第二張。原因是POS的初始值是0,再BUTTON2里加1也不過(guò)是1,所以選擇第四張圖片的時(shí)候跳轉(zhuǎn)到files[1]也就是第二個(gè)圖片,這里不知道怎么修改了,有大牛看到了幫忙修復(fù)下BUG。

希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論