//将所有图标显示在一个容器内 public void ShowIcon(FlowLayoutPanel flp) { Graphics g = flp.CreateGraphics(); float scale = 96 / g.DpiY; for (int i = 0; i < IconList.Count; i++) { Image image = IconList[i].ToBitmap(); Image newImage = PictureZoom.ZoomPic(image, scale); var pic = new PictureBox { Parent = flp, Size = new Size(48, 48), SizeMode = PictureBoxSizeMode.CenterImage, Image = newImage, Name = i.ToString(), //设置每个PictureBox间距为4 //Margin = new Padding(4), }; pic.Click += (sender, e) => { foreach (PictureBox p in flp.Controls) { p.BackColor = Color.Transparent; } pic.BackColor = selectColor; }; } }
//使用图标磁贴 private void UseIcoAsPic() { cmbTileShowMode.SelectedIndex = 0; pic150x150View.SizeMode = PictureBoxSizeMode.CenterImage; Image image = picIconView.Image; pic150x150View.Image = image; pic70x70View.Image = PictureZoom.ZoomPic(image, 0.75); pic44x44View.Image = PictureZoom.ZoomPic(image, 0.5625); }
//将图标显示出来 private void ShowMyIcon(Image image) { if (image == null) { return; } Graphics g = this.CreateGraphics(); float scale = 96 / g.DpiX; Image newImage = PictureZoom.ZoomPic(image, scale); picIconView.Image = newImage; UseIcoAsPic(); }