freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

畢業(yè)設計-基于c的圖片瀏覽器設計(已改無錯字)

2023-01-14 16:50:21 本頁面
  

【正文】 編寫 :主窗體 MainForm的代碼文件。 :創(chuàng)建目錄窗體 FrmCreateFolder 的代碼文件。 :導入圖片窗體 FrmLoadPic 的代碼文件。 : PicInfo 類代碼文件。 : Folder 類代碼文件。 窗體 在解決方案資源管理器中的圖片管理器項目上右擊鼠標,在彈出菜單中選擇添加新建項。在添加新項窗口中選擇類,在名稱編輯框內輸入“ ”。最后單擊添加按鈕添加一個新的類。 PicInfo 是一個自定義的類,什么是類?可以這樣去理解:類可以存放某些信息,并能實現(xiàn)特定功能。類里有屬性和方法,就好比銀行的提款機,通過使用提款機,可以查詢賬戶里還有還剩多少錢,也可以通過提款機取錢。在編程中 定義類是為了把一些相關的功能包裝起來,放在一起,以方便在程序中使用。 Private string _fullName; Private string _nameNoExtension; 這兩行代碼聲明了兩個私有成員變量,這兩個成員變量供類內部使用,類的外部不可以直接訪問它們,但可以通過屬性來訪問和設置它們的值。 Public override string ToString () { Return _fullName。 } 這幾行代碼,重載了 ToString()方法,由于 PicInfo 類的作用是把類實例作 為項存放于復選列表框內。而每個項顯示的文字正是通過訪問 ToString()方法而獲得,重載這個方法,正是為了在復選列表框內顯示指定的文字。 窗體 在(解決方案資源管理器)中的(圖片管理器)項目上右擊鼠標,在彈出菜單中選擇(添加)(新建項)。在(添加新項)窗口中選擇(類),在(名稱)編輯框內輸入“ ”。最后單擊(添加)按鈕添加一個新的類。 在第一次瀏覽一個目錄時,需要從硬盤讀取這個目錄下的所有縮略圖并顯示,此時所有縮略圖被載入內存。如果切換到其他目錄時就 從內存中釋放這些數據,再次瀏覽這個目錄時就導致程序重新從硬盤讀取數據,這樣會使得縮略圖的顯示速度變慢******學院 信息工程系畢業(yè)設計(論文) 第 12 頁 共 21 頁 (內存的速度遠勝于硬盤 )。本案例中,只要瀏覽了某個目錄,就讓這個目錄下的所有縮略圖常駐于內存,以供下次瀏覽時調用,直到應用程序關閉為止。這樣做可能導致程序的內存使用加大,但在一定程度上彌補了沒有使用多線程技術的遺憾。 Folder 類正是用于實現(xiàn)這個功能的,它封裝了縮略圖的生成、讀取、刪除、計算邊界的功能。 Foreach (string sourceFile in (_sourcePath)) 這一行的 (_sourcePath)方法訪問指定文件夾 (_sourcePath)中的所有文件,并將它們的文件名存放于字符串數組中返回。 Public override string ToString() { Return _name。 } 這幾行代碼重載了 ToString()方法,這樣做是為了在 ListBox內顯示指定的字符串,即目錄名稱。 窗體 打開 FrmCreateFolder 的設計窗體,分別雙擊(確定)和(取消)按鈕,為它們生成按鈕的單機事件。 FrmCreateFolder 窗體的作用是創(chuàng)建一個新的圖片管理目錄,所有圖片都存放于可執(zhí)行文件所在目錄下的(圖片目錄)文件夾之下,新建一個管理目錄會在(圖片目錄)文件夾下創(chuàng)建一個以管理目錄命名的文件夾。由于 FrmCreateFolder 窗體需要操作主窗體的列表框控件,這就會涉及在不同窗體間傳遞參數的問題。在不同窗體間傳遞參數有很多種方法,本案例只使用其中的一種,就是在窗體構造方法中傳遞參數,這就需要重 載窗體的構造方法。 Public FrmCreateFolder() { InitializeComponent()。 } 這幾行代碼是 Visual Studio 2021 自動問窗體生成的構造方法。 Public FrmCreateFolder(ListBox lst) { InitializeComponent()。 lstFolder=lst。 } 這幾行代碼則是手動編寫的重載的構造方法。它使用了一 個 ListBox類型的參數,******學院 信息工程系畢業(yè)設計(論文) 第 13 頁 共 21 頁 由于 ListBox是一個引用 的 類型,這樣當主窗體把一個 ListBox類型當做 參數傳遞給FrmCreateFolder 窗體的構造方法后,就可以在 FrmCreateFolder 窗體中控制這個ListBox。 Private ListBox lstFolder。 這行代碼聲明了一個 ListBox類型的成員變量,用于存放從構造方法傳遞進來的ListBox引用,以方便在整個窗體范圍內進行調用。 String path=+\\圖片目錄 \\ 這行代碼中的 屬性返回當前程序可執(zhí)行文件所在路徑。 窗體 打開 FrmLoadPic 窗口,雙擊窗口空白處,為窗口生成一個 load 事件, FrmLoadPic 窗體用于將圖片導入程序目錄中,它需要控制主窗體中的列表框和狀態(tài)欄兩個控件,所以在這幾行代碼的重載構造方法中使用了兩個參數,以傳遞對這兩個控件的引用。 =“圖像文件 (*.BMP。*.JPG。*.GIF。“ +” *.jpeg。*.ico) *.BMP。*.JPG。*.GIF。*.jpeg。*.ico” 。 這行代碼設置打開文件對話 框的文件篩選器,這樣在使用打開文件對話框時,就只能選擇指定的文件類型。 雙擊(瀏覽)按鈕,生成一個按鈕的單擊事件。為復選列表框 chklsPics 生成一個 SelectedIndexChange 事件。雙擊(修改)按鈕,生成一個按鈕的單擊事件。 PicInfo picInfo=new PicInfo(s)。 這行代碼使用了前面所編寫的 PicInfo 類,編寫它的主要原因是如果給圖像改名,需要有地方存放修改后的名字。 (picInfo,true)。 這行代碼直接將上一行代碼所創(chuàng)建的 PicInfo 對象作為元素添加進復選列表框內。復選列表框的項所顯示的文字將是 PicInfo對象的 ToString()方法所返回的字符串。 分別雙擊(確定)和(取消)按鈕,為它們生成按鈕單擊事件, 載入圖像時,需要考慮一下幾個因素。 ,有可能出現(xiàn)圖片文件名相同但路徑不同的情況,把它復制到同一文件夾時會由于文件名相同而導致出錯。 ,文件夾有可能本身已有同名的文件,這樣同樣會導致出錯。 常見的解決方案如看圖軟件 ACDSee,在復制過程中如出現(xiàn)同名文件,將彈出提示窗口,供用戶進行改名或放棄復制操作。本案例使用了不同的方法,出現(xiàn)同名文件時并不提示用戶,而直接給圖片改名。 ******學院 信息工程系畢業(yè)設計(論文) 第 14 頁 共 21 頁 給圖片重命名的算法如下所述 : (所有圖片將被復制到這個文件夾 )下的所有已存在的圖片名稱,并放入 Arraylist 內。 ArrayList 內的圖片名稱從小到大進行排序。 ,首先跟 ArrayList 內的圖片名稱一一對比,如果發(fā)現(xiàn)同名文件,則在文件名后加 “ ”號和數字“ 1”。把更改后的名稱繼續(xù)跟ArrayList 內的下一個圖片名稱進行對比,如果重名,則把數字“ 1”變?yōu)椤?2”。直到在 ArrayList 內找到比它大的名稱,則把它插入到這個位置。 ,對下一張圖片重復第③步操作,直到所有圖片被復制到目的文件夾為止。 窗體 雙擊(新增目錄)工具按鈕,生成按鈕的單擊事件,這里使用模式窗體的方式打開前面所創(chuàng)建的 FrmCreateFolder 窗體。 雙擊(刪除目錄)工具按鈕,生成按鈕的單擊事件 雙擊(導入圖像)工具按鈕,生成按鈕的單擊事件 選中 lvView 控件,在事件窗口中雙擊 DrawItem事件,生成一個繪制項的事件,當 ListView 的 OwnerDraw 屬性為 true 時,可以通過 DrawItem 事件手動繪制 ListView中的每一個項。在 DrawItem事件方法中,參數 e 的 Bounds 屬性返回這個項所占用的矩形,可以在這個矩形里繪制圖形和文字。 選中列表框 lstFolder,為它生成一個 SelectedIndexChanged 事件 為(刪除圖像)和(退出)工具按鈕 分別生成單擊 (Click)事件 選中 lvView 控件,在事件窗口中雙擊 DoubleClick事件,生成一個事件 分別雙擊窗體下方工具欄的(返回目錄)、(上一幅圖像) (tsbtnPeriod)、(下一幅圖像)(tsBtnNext)工具按鈕,為它們生成相應的單擊事件 顯示圖像有兩種模式 : 1 .按原圖尺寸顯示:當圖像尺寸大于裝載
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1