国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#編程實現簡易圖片瀏覽器的方法

2020-01-24 01:21:08
字體:
來源:轉載
供稿:網友

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

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

拖一個PICTUREBOX,兩個TEXTBOX

string fold = "";//用來存不包含文件后綴名的路徑 string[] files;//用來存當前所有統一后綴文件的總路徑 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);//將所有當下文件夾下的圖片文件的全路徑放在該數組內    } } 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. 所有的文件名字都存在數組files里面,按說files[ ]里的元素就固定了。可是,無論先打開哪一張圖片,點擊下一張后,都可以正確的讀出下一張(問題是POS的初值是0,無論打開哪張,下一張的執行命令都會搜索到files[1],可每次打開的圖片不同啊,用相同的files[1]怎么還能搜索到自己對應的下一張呢,這個數組到底是咋存的)

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

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

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

此外還有個小BUG,如果一共有4張圖片,先打開第四張后點擊下一張,會出現第二張。原因是POS的初始值是0,再BUTTON2里加1也不過是1,所以選擇第四張圖片的時候跳轉到files[1]也就是第二個圖片,這里不知道怎么修改了,有大牛看到了幫忙修復下BUG。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 克什克腾旗| 凉山| 林口县| 阜宁县| 秦皇岛市| 南康市| 开化县| 息烽县| 大厂| 贵阳市| 新田县| 乌恰县| 丰宁| 汨罗市| 武陟县| 武夷山市| 德江县| 江孜县| 武城县| 门源| 阿拉尔市| 布拖县| 五原县| 赤壁市| 乌恰县| 山东省| 宿松县| 定安县| 紫阳县| 安图县| 印江| 卓资县| 绿春县| 陆良县| 澄迈县| 东乡| 驻马店市| 兴海县| 宁城县| 云阳县| 观塘区|