Example #1
0
        /// <summary>
        /// 插入VSTO winform中的PictrueBox控件来显示图片
        /// </summary>
        /// <param name="shtPic">工作表</param>
        /// <param name="rngPic">单元格</param>
        /// <param name="picPath">图片路径</param>
        /// <param name="picName">图片名字</param>
        public void InsertPictureBox(Excel.Worksheet shtPic, Excel.Range rngPic, string picPath, string picName)
        {
            rngPic.ColumnWidth = rngColWidth;
            rngPic.RowHeight   = rngRowHeight;

            //转换为Vsto对象
            ToolExcel.Worksheet wrk = Globals.Factory.GetVstoObject(shtPic);

            //声明一个Excel宿主控件对象
            ExcelControls.PictureBox picBox = new ExcelControls.PictureBox();
            if (!wrk.Controls.Contains(picName))
            {
                picBox.Image    = Image.FromFile(picPath);//导入图片到控件中
                picBox.SizeMode = PictureBoxSizeMode.StretchImage;
                picBox.Tag      = picName;
                picBox.Click   += picBox_Click;

                //添加dot net 控件
                wrk.Controls.AddControl(picBox, rngPic, picName);
                //picBox.Placement = Excel.XlPlacement.xlMoveAndSize;//随单元格大小变化而变化
            }
        }
Example #2
0
 void picBox_Click(object sender, EventArgs e)
 {
     ToolExcel.Controls.PictureBox pic = (ToolExcel.Controls.PictureBox)sender;
     MessageBox.Show(pic.Tag.ToString());
 }