清除PictureBox – c#
发布时间:2020-12-16 01:51:30 所属栏目:百科 来源:网络整理
导读:我想修改这个 PictureBox Array项目. 我想放一个重置按钮,而不是清除它创建的所有PictureBox数组 更可能的形式将从头开始再次为空. 这是它的一些代码; // Function to add PictureBox Controls private void AddControls(int cNumber) { imgArray = new Syst
我想修改这个
PictureBox Array项目.
我想放一个重置按钮,而不是清除它创建的所有PictureBox数组 更可能的形式将从头开始再次为空. 这是它的一些代码; // Function to add PictureBox Controls private void AddControls(int cNumber) { imgArray = new System.Windows.Forms.PictureBox[cNumber]; // assign number array for (int i = 0; i < cNumber; i++) { imgArray[i] = new System.Windows.Forms.PictureBox(); // Initialize one variable } // When call this function you determine number of controls } private void ImagesInFolder() { FileInfo FInfo; // Fill the array (imgName) with all images in any folder imgName = Directory.GetFiles(Application.StartupPath + @"Images"); // How many Picture files in this folder NumOfFiles = imgName.Length; imgExtension = new string[NumOfFiles]; for (int i = 0; i < NumOfFiles; i++) { FInfo = new FileInfo(imgName[i]); imgExtension[i] = FInfo.Extension; // We need to know the Extension // } } private void ShowFolderImages() { int Xpos = 8; int Ypos = 8; Image img; Image.GetThumbnailImageAbort myCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback); MyProgress.Visible = true; MyProgress.Minimum = 1; MyProgress.Maximum = NumOfFiles; MyProgress.Value = 1; MyProgress.Step = 1; string[] Ext = new string [] {".GIF",".JPG",".BMP",".PNG"}; AddControls(NumOfFiles); for (int i = 0; i < NumOfFiles; i++) { switch (imgExtension[i].ToUpper()) { case ".JPG": case ".BMP": case ".GIF": case ".PNG": img = Image.FromFile(imgName[i]); // or img = new Bitmap(imgName[i]); imgArray[i].Image = img.GetThumbnailImage(64,64,myCallback,IntPtr.Zero); img = null; if (Xpos > 432) // six images in a line { Xpos = 8; // leave eight pixels at Left Ypos = Ypos + 72; // height of image + 8 } imgArray[i].Left = Xpos; imgArray[i].Top = Ypos; imgArray[i].Width = 64; imgArray[i].Height = 64; imgArray[i].Visible = true; // Fill the (Tag) with name and full path of image imgArray[i].Tag = imgName[i]; imgArray[i].Click += new System.EventHandler(ClickImage); this.BackPanel.Controls.Add(imgArray[i]); Xpos = Xpos + 72; // width of image + 8 Application.DoEvents(); MyProgress.PerformStep(); break; } } MyProgress.Visible = false; } private bool ThumbnailCallback() { return false; } private void btnLoad_Click(object sender,System.EventArgs e) { ImagesInFolder(); // Load images ShowFolderImages(); // Show images on PictureBox array this.Text = "Click wanted image"; } 我怎样才能做到这一点? 抱歉,我还没有重置按钮的任何代码. 解决方法
我将按照这些步骤确保一切都将成为现实:
private void btnReset_Click(object sender,System.EventArgs e) { for(int x = this.BackPanel.Controls.Count - 1; x >= 0; x--) { if(this.BackPanel.Controls[x].GetType() == typeof(PictureBox)) this.BackPanel.Controls.Remove(x); } for(int x = 0; x < imgArray.Length; x++) { imgArray[x].Image = null; imgArray[x] = null; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |