WinForm控件之【PictureBox】


基本介紹

圖片控件,用於顯示各種格式圖像。

常設置屬性

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


  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM