欢迎使用CSDN-markdown编辑器

来源:互联网 发布:office2016 mac 10.9 编辑:程序博客网 时间:2024/06/14 05:29

c# 多TabPage中的PictureBox实现拖拽文件并显示

代码块

代码块语法遵循标准markdown代码,例如:

        string fileName = string.Empty;        private void ImageScan_DragDrop(object sender, DragEventArgs e)        {            //获取第一个文件名            fileName = (e.Data.GetData(DataFormats.FileDrop, false) as String[])[0];            try            {                Point screenPoint = Control.MousePosition;//鼠标相对于屏幕左上角的坐标                Point formPoint = this.PointToClient(Control.MousePosition);//鼠标相对于窗体左上角的坐标                //Point contextMenuPoint = contextMenuStrip1.PointToClient(Control.MousePosition); //鼠标相对于contextMenuStrip1左上角的坐标                label1.Location = winPoint;                IntPtr formHandle = WindowFromPoint(winPoint);//得到窗口句柄                Control con = Control.FromHandle(formHandle);                Point point = this.PointToScreen(new Point(e.X, e.Y));                DragOverSetPic(screenPoint, this.Controls, fileName);            }            catch (Exception) { MessageBox.Show("文件格式不对"); }        }private void DragOverSetPic(Point point, System.Windows.Forms.Control.ControlCollection c, string fileName)        {            foreach (Control item in c)            {                if (item.HasChildren)                {                    //如果是tabPage,只选择当前激活页遍历,SkinTabPage,if(this.ta.tabControl1.SelectedTab==)                    if (item is CCWin.SkinControl.SkinTabPage)                    {                        if (item.Visible)                            DragOverSetPic(point, item.Controls, fileName);                    }                    else                        DragOverSetPic(point, item.Controls, fileName);                }                if (item is CCWin.SkinControl.SkinPictureBox)                {                    Rectangle rc = item.RectangleToScreen(item.ClientRectangle);                    if (rc.Contains(point))                                            ((CCWin.SkinControl.SkinPictureBox)(item)).ImageLocation = fileName;                                    }            }        }       private void ImageScan_DragEnter(object sender, DragEventArgs e)        {            if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.All;            else e.Effect = DragDropEffects.None;        }
原创粉丝点击