基本介紹
圖片控件,用於顯示各種格式圖像。
常設置屬性
Image:在控件中顯示的圖像,綁定需要顯示的Image類型對象;
ErrorImage:當加載圖像失敗時顯示的圖像對象;
InitialImage:正在加載另一圖像時顯示的圖像對象;
SizeMode:控件如何展示圖片的類型;
Enabled:指示是否啟用該控件,true為啟用狀態用戶可編輯,false為禁用狀態用戶不可編輯;
Name:指示代碼中用來標識該對象的名稱;
事例舉例
相關代碼
#region 控件文件拖拽獲取事件 private void img_data_DragDrop(object sender, DragEventArgs e) { //獲取所有拖拽文件路勁 System.Array array = (System.Array)e.Data.GetData(DataFormats.FileDrop); int index = array.Length; for (int i = 0; i < index; i++) { listPath.Add(array.GetValue(i).ToString()); } if (listPath.Count > 0) { BindImgData(listPath[0], 1); } } private void img_data_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.Link; } else { e.Effect = DragDropEffects.None; } } /// <summary> /// 圖片綁定 /// </summary> /// <param name="path"></param> /// <param name="page"></param> private void BindImgData(string path, int page) { try { sbtn_Prev.Enabled = true; sbtn_Next.Enabled = true; if (page == 1) { sbtn_Prev.Enabled = false; } if (page == listPath.Count) { sbtn_Next.Enabled = false; } fileExtension = Path.GetExtension(path).ToLower(); fileName = Path.GetFileName(path); sbtn_Pages.Text = page + "/" + listPath.Count; if (path.Contains("http://") || path.Contains("https://")) { picObj = Bitmap.FromStream(new System.IO.MemoryStream((new System.Net.WebClient()).DownloadData(path))); } else { picObj = Image.FromFile(path); } } catch (Exception ex) { picObj = null; sbtn_Pages.Text = "0"; //string strNo = Helpers.UtilityHelper.GetSerialNumber(); //Helpers.LogHelper.ErrorMsgRecord(this.Name, ex, strNo); //Helpers.LoadingHelper.CloseForm(); //MessageBox.Show("圖片對象或路徑異常,顯示失敗!\r\n" + ex.Message + strNo, "系統提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } img_data.Image = picObj; } #endregion #region 鼠標移動圖片 bool dragFlag = false; int mouseX = 0, mouseY = 0; private void img_data_MouseDown(object sender, MouseEventArgs e) { mouseX = e.X; mouseY = e.Y; dragFlag = true; } private void img_data_MouseUp(object sender, MouseEventArgs e) { dragFlag = false; } private void img_data_MouseMove(object sender, MouseEventArgs e) { if (dragFlag) { img_data.Location = new Point(img_data.Location.X - (mouseX - e.X), img_data.Location.Y - (mouseY - e.Y)); } } #endregion