WinForm控件之【PictureBox】

摘要:
基本图片控件用于以各种格式显示图像。

基本介绍

图片控件,用于显示各种格式图像。

常设置属性

Image:在控件中显示的图像,绑定需要显示的Image类型对象;

ErrorImage:当加载图像失败时显示的图像对象;

InitialImage:正在加载另一图像时显示的图像对象;

SizeMode:控件如何展示图片的类型;

Enabled:指示是否启用该控件,true为启用状态用户可编辑,false为禁用状态用户不可编辑;

Name:指示代码中用来标识该对象的名称;

事例举例

WinForm控件之【PictureBox】第1张

WinForm控件之【PictureBox】第2张

WinForm控件之【PictureBox】第3张

相关代码

       #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("图片对象或路径异常,显示失败!
" + 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


  

免责声明:文章转载自《WinForm控件之【PictureBox】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux 下 奇怪的 动态库 依赖问题SpringBoot中前后端数据交互下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

winform如何保持TreeView节点展开和折叠的状态

转载:http://blog.sina.com.cn/s/blog_6abcacf5010138q5.html private Hashtable NodesStatus = new Hashtable(); private string SelectNodeFullPath = string.Empty; ///...

WinForm中使用DXperience控件中XtraForm,如何实现换肤

在DevExpress.XtraEditors.XtraForm中,窗体的样式和皮肤有UseDefaultLookAndFeel属性。设置为false,就可以直接再属性里面修改样式和皮肤了。如果设置为true,可以再里面放控件defaultLookAndFeel,设置defaultLookAndFeel的样式和皮肤,XtraForm窗体的样式和皮肤就可以随...

winform安装项目、安装包的制作、部署

① 1,解决方案—添加—新建项目—其他项目类型—安装和部署—安装项目,输入名称Setup,点“确定” 2,添加主输出:单击左侧“应用程序文件夹”,右侧右键—添加—项目输出-主输出-确定。 3,添加开始程序中的文件夹:右击左侧“用户的程序菜单”—添加—文件夹,自己设置名称。 4,添加开始程序中和桌面的主程序快捷方式:左侧单击刚新建的文件夹--右侧右键—创建新...

winform里面打开网页(转)

 首先,新建一个winform项目,我在想,如果想要实现打开网页功能的话,应该会有一个控件什么之类的吧?查了工具栏,真的有一个名叫 WebBrowser的家伙,应该就是这货没错了。在网上查了它的资料更加坚定了我的判断,二话不说,拖进Form里。接着,就是要显示一个网页了,要怎 么实现呢?继续查看WebBrowser都有啥属性和方法: 方法 说明  ...

将Winform程序及dll打包成可执行的exe

使用场景 通常开发的Winform程序,引用了其他类库后,在输出目录下都会产生很多DLL文件,exe执行时必须依赖这些DLL。想要Winform程序只有一个可执行exe文件,又不想打包成安装包,就可以采用该方法。 方案一 利用ILMerge将exe及dll合并成一个新的exe ILMerge下载地址:https://www.microsoft.com/en...

C# WinForm开发系列 DataGrid/DataGridView

在WinForm开发中,DataGrid/DataGridView被广泛使用于绑定数据库中数据进行呈现.整理一些关于DataGrid /DataGridView使用的文章,涉及DataGrid/DataGridView基本功能,自定义绘制控件,数据导入/导出(Excel),打印 等. 1.新数据网格简介(DataGridView) 2.自定义DataGri...