最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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)文章

  • 深入C#中g(shù)et與set的詳解

    深入C#中g(shù)et與set的詳解

    本篇文章是對(duì)C#中的get與set進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • C#瀏覽器提示跨域問(wèn)題解決方案

    C#瀏覽器提示跨域問(wèn)題解決方案

    這篇文章主要介紹了C#瀏覽器提示跨域問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • WinForm調(diào)用jar包的方法分析

    WinForm調(diào)用jar包的方法分析

    這篇文章主要介紹了WinForm調(diào)用jar包的方法,結(jié)合實(shí)例形式分析了WinForm調(diào)用jar包的原理、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-05-05
  • C#隱藏主窗口的方法小結(jié)

    C#隱藏主窗口的方法小結(jié)

    這篇文章主要介紹了C#隱藏主窗口的方法,列舉了C#隱藏窗口的三種常用方法,涉及C#窗體操作的常用技巧,需要的朋友可以參考下
    2016-03-03
  • C#使用JsonConvert全面解析JSON

    C#使用JsonConvert全面解析JSON

    這篇文章主要介紹了C#使用JsonConvert全面解析JSON,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 輕松學(xué)習(xí)C#的結(jié)構(gòu)和類(lèi)

    輕松學(xué)習(xí)C#的結(jié)構(gòu)和類(lèi)

    輕松學(xué)習(xí)C#的結(jié)構(gòu)和類(lèi),對(duì)C#的結(jié)構(gòu)和類(lèi)感興趣的朋友可以參考本篇文章,幫助大家更靈活的運(yùn)用C#的結(jié)構(gòu)和類(lèi)
    2015-11-11
  • 解決C#全屏幕截圖的實(shí)現(xiàn)方法

    解決C#全屏幕截圖的實(shí)現(xiàn)方法

    本篇文章是對(duì)在C#中實(shí)現(xiàn)全屏幕截圖的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • timespan使用方法詳解

    timespan使用方法詳解

    TimeSpan是用來(lái)表示一個(gè)時(shí)間段的實(shí)例,兩個(gè)時(shí)間的差可以構(gòu)成一個(gè)TimeSpan實(shí)例,現(xiàn)在就來(lái)介紹一下使用方法
    2014-04-04
  • C#中Timer使用及解決重入問(wèn)題

    C#中Timer使用及解決重入問(wèn)題

    本文主要介紹了C#中Timer使用及解決重入問(wèn)題的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • C#對(duì)多個(gè)集合和數(shù)組的操作方法(合并,去重,判斷)

    C#對(duì)多個(gè)集合和數(shù)組的操作方法(合并,去重,判斷)

    下面小編就為大家?guī)?lái)一篇C#對(duì)多個(gè)集合和數(shù)組的操作方法(合并,去重,判斷)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12

最新評(píng)論

莫力| 安丘市| 栾川县| 南木林县| 通道| 万载县| 达州市| 乐昌市| 同江市| 渝中区| 西藏| 土默特左旗| 凤庆县| 周至县| 平定县| 白城市| 营口市| 深州市| 威信县| 台南县| 涞水县| 博湖县| 翼城县| 綦江县| 巴林右旗| 革吉县| 宁化县| 手机| 佛山市| 苍山县| 邯郸市| 宁德市| 云安县| 嵊州市| 连平县| 南郑县| 黄浦区| 重庆市| 红原县| 内黄县| 墨江|