欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

拖一個PICTUREBOX,兩個TEXTBOX

string fold = "";//用來存不包含文件后綴名的路徑 
string[] files;//用來存當前所有統(tǒng)一后綴文件的總路徑 
int pos=0;//用于圖片切換 
private void button1_Click(object sender, EventArgs e) 
{ 
   OpenFileDialog of = new OpenFileDialog();//打開“打開文件”對話框 
   of.Title = "打開圖像文件";//命名 
   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下的實例方法 
     string ext = fi.Extension;//利用上面的方法取得擴展名 
     textBox1.Text = of.FileName;//總路徑 
     label1.Text = fold;//不含后綴,這兩行代碼完全是給讀者看的 
     Image image = Image.FromFile(of.FileName);//實例化一個圖片,該圖片是你選擇的那張圖片 
     pictureBox1.Image = image;//將該圖片放入空間內 
     files = Directory.GetFiles(fold, "*" + ext);//將所有當下文件夾下的圖片文件的全路徑放在該數(shù)組內 
   } 
} 
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; 
}

效果圖如下:

問題總結如下:

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

解決方案:其實每次的files[1]是不同的,因為的比如你先打開第二張圖片,那么第一,二,三,四張圖片對應的數(shù)組元素應該是files[3],files[0],files[1],files[2];如果先打開第一張圖片,那么files[0]應該默認的是第一張圖片,files[1]自然就是第二張了(只有這樣才能說的通)。

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

復制代碼 代碼如下:
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

此外還有個小BUG,如果一共有4張圖片,先打開第四張后點擊下一張,會出現(xiàn)第二張。原因是POS的初始值是0,再BUTTON2里加1也不過是1,所以選擇第四張圖片的時候跳轉到files[1]也就是第二個圖片,這里不知道怎么修改了,有大??吹搅藥兔π迯拖翨UG。

希望本文所述對大家C#程序設計有所幫助。

相關文章

  • WinForm窗體調用WCF服務窗體卡死問題

    WinForm窗體調用WCF服務窗體卡死問題

    在Winform窗體中調用部署在其他服務器中的WCF服務時,由于調用服務需要一定時延,因此窗體在這段時間一直卡住不能進行其他操作
    2012-12-12
  • 算法練習之從String.indexOf的模擬實現(xiàn)開始

    算法練習之從String.indexOf的模擬實現(xiàn)開始

    這篇文章主要介紹了算法練習從String.indexOf的模擬實現(xiàn)開始,需要的朋友可以參考下
    2014-12-12
  • 詳解C#之事件

    詳解C#之事件

    這篇文章主要介紹了C#之事件的知識點,文中代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以參考下
    2020-06-06
  • C# #define條件編譯詳解

    C# #define條件編譯詳解

    這篇文章主要介紹了C# #define條件編譯,告訴大家#define是用來做什么?如何使用#define,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • C#多線程之線程同步WaitHandle

    C#多線程之線程同步WaitHandle

    這篇文章介紹了C#多線程之線程同步WaitHandle的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • C#實現(xiàn)對字符串進行大小寫切換的方法

    C#實現(xiàn)對字符串進行大小寫切換的方法

    這篇文章主要介紹了C#實現(xiàn)對字符串進行大小寫切換的方法,涉及C#操作字符串的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • C#實現(xiàn)兩個時間相減的方法

    C#實現(xiàn)兩個時間相減的方法

    這篇文章主要介紹了C#實現(xiàn)兩個時間相減的方法,實例分析了C#針對時間操作的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • Unity UGUI通過搖桿控制角色移動

    Unity UGUI通過搖桿控制角色移動

    這篇文章主要為大家詳細介紹了Unity3D基于陀螺儀實現(xiàn)VR相機功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • c# 通過WinAPI播放PCM聲音

    c# 通過WinAPI播放PCM聲音

    這篇文章主要介紹了c# 通過WinAPI播放PCM聲音的方法,幫助大家更好的理解和使用c#編程語言,感興趣的朋友可以了解下
    2020-12-12
  • C#中的數(shù)組作為參數(shù)傳遞所引發(fā)的問題

    C#中的數(shù)組作為參數(shù)傳遞所引發(fā)的問題

    這篇文章主要介紹了C#中的數(shù)組作為參數(shù)傳遞所引發(fā)的問題 的相關資料,需要的朋友可以參考下
    2016-03-03

最新評論