返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#实现代码移除窗体上的控件
  • 802
分享到

C#实现代码移除窗体上的控件

C#代码移除C#移除控件C#窗体控件 2023-01-28 06:01:39 802人浏览 独家记忆
摘要

目录C#代码移除窗体上的控件以PictureBox为例原因分析解决办法方案一方案二总结C#代码移除窗体上的控件 以PictureBox为例 需要根据程序运行状况移除窗体中不需要的Pi

C#代码移除窗体上的控件

以PictureBox为例

需要根据程序运行状况移除窗体中不需要的PictureBox时,通常的操作是,遍历窗体的控件,删除目标PictureBox控件,然而,直接操作的结果是,无法一键删除全部目标PictureBox控件,

如:

foreach( Control ctr in Controls ) {
				if( ctr is PictureBox ) {
					this.Controls.Remove( list[ ctr ] );;
				}
			}

运行结果:

原因分析

在程序运行过程中,点击Generate按钮,界面生成4个PictureBox控件,加上原来的5个控件,此时窗体中共有9个控件。

Reset按钮的功能是移除PictureBox控件,第一次点击时,遍历每一个控件,第一次进去foreach循环,

第6次循环,if判断为true,删除第一个控件,此时窗体还有8个控件;

第7次循环,if判断为true,删除第二个控件,此时窗体还有7个控件;

跳出foreach,再次点击Reset,流程以此类推。

因此在每次移除控件的过程中,foreach循环的上限不断减少,导致循环提前结束。

解决办法

循环过程中控制foreach的循环总数不变。

方案一

// remove all picturebox in fORM
			List<Control> list = new List<Control>();
			foreach( Control ctr in Controls ) {
				if( ctr is PictureBox ) {
					list.Add( ctr );
				}
			}
			for( int i = 0; i < list .Count ; i++ ) {
				if( list[i] is PictureBox  ) {
					this.Controls.Remove( list[ i ] );
				}
			}

方案二

 			// remove all picturebox in form
			List<Control> list = new List<Control>();
			foreach( Control ctr in Controls ) {
				if( ctr is PictureBox ) {
					list.Add( ctr );
				}
			}
			foreach( Control ctr in list ) {
				this.Controls.Remove( ctr );
			}

运行结果:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: C#实现代码移除窗体上的控件

本文链接: https://lsjlt.com/news/178384.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#实现代码移除窗体上的控件
    目录C#代码移除窗体上的控件以PictureBox为例原因分析解决办法方案一方案二总结C#代码移除窗体上的控件 以PictureBox为例 需要根据程序运行状况移除窗体中不需要的Pi...
    99+
    2023-01-28
    C#代码移除 C#移除控件 C#窗体控件
  • C#Windows应用程序开发实现窗体控件
    本篇内容主要讲解“C#Windows应用程序开发实现窗体控件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#Windows应用程序开发实现窗体控件”吧!通常windows应用程序都有相似的特征...
    99+
    2023-06-18
  • C# 添加现有的窗体的时候,为何窗体的控件不显示了?
    背景 有的项目中一些功能是可以复用的,将原始项目中的窗体文件添加到新项目时,发现有一些问题。添加完之后,打开的窗体发现没有显示任何控件,窗体的大小还变小了? 原始的添加操作 将Form1.cs Form1.resx Form1.Design...
    99+
    2023-08-30
    c# 开发语言 窗体
  • C#在Windows窗体控件实现内容拖放(DragDrop)功能
    一、将控件内容拖到其他控件 在开发过程中,经常会有这样的要求,拖动一个控件的数据到另外一个控件中。例如将其中一个ListBox中的数据拖到另一个ListBox中。或者将DataGri...
    99+
    2024-04-02
  • c# 颜色选择控件的实现代码
    参考ColorComboBox做修改,并对颜色名做些修正,用于CR MVMixer产品中,聊作备忘~ 效果图: 代码: //颜色拾取框 using System; using ...
    99+
    2024-04-02
  • C#实现在窗体上的统计图效果
    本文实例为大家分享了C#实现在窗体上的统计图,供大家参考,具体内容如下 忽然要用到C#来制作统计图,起初不太清除怎么弄,看了一些代码实现统计图的文档。终于实现了条形图的设置,后来又需...
    99+
    2024-04-02
  • C#如何实现在窗体上的统计图
    小编给大家分享一下C#如何实现在窗体上的统计图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下忽然要用到C#来制作统计图,起初不太清除怎么弄,看了一些代...
    99+
    2023-06-29
  • winform控件随窗体缩放怎么实现
    要实现WinForm控件随窗体缩放,可以使用Anchor和Dock属性来控制控件的布局。1. 使用Anchor属性:- 将Ancho...
    99+
    2023-09-29
    winform
  • Qt实现拖动单个控件移动的示例代码
    目录1.设置窗口拖拽属性2.创建初始控件3.选中控件进行拖动3.1响应mousePressEvent事件3.2判断控件拖动3.3事件处理3.4结束拖动做惯了静态图,今天来搞一搞动态图...
    99+
    2024-04-02
  • C# WinForm遍历窗体控件的3种方法
    目录1.循环遍历2.递归遍历3.使用反射1.循环遍历 private void GetControls(Control fatherControl) { Control....
    99+
    2024-04-02
  • C#窗体通讯录系统的示例代码
    目录1.首先创建DBhelp类用来连接数据库2.创建主页面:3.添加联系人页面4.修改页面5.查询页面本文主要介绍了C#窗体通讯录系统的示例代码,分享给大家,具体如下: 1.首先创...
    99+
    2024-04-02
  • C#实现简单的聊天窗体
    本文实例为大家分享了C#实现简单的聊天窗体的具体代码,供大家参考,具体内容如下 一、要使用(学习)到的知识点 1、textBox控件 (1)功能:允许用户输入文本,并提供多行编辑和密...
    99+
    2024-04-02
  • WPF实现窗体亚克力效果的示例代码
    WPF 窗体设置亚克力效果 框架使用大于等于.NET40。 Visual Studio 2022。 项目使用 MIT 开源许可协议。 WindowAcrylicB...
    99+
    2024-04-02
  • python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
    在上一篇的基础上,继续在透明窗体上绘制小球, 一、画个大球看看 (一)核心代码 在on_resize函数内部增加如下画圆的代码 canvas.create_oval(100, 100, 200, 200, ...
    99+
    2022-06-02
    python tkinter透明窗体小球 python tkinter透明窗体
  • C#实现一键清空控件值的示例代码
    目录场景需求开发环境开发工具实现代码实现效果代码解析场景 在任何一个Form表单的操作页面或者数据台账的查询页面,基本都会看到一个清除的按钮,其功能就是用来清除我们需要抛弃的已经写入...
    99+
    2024-04-02
  • C#之多余控件事件及代码删除问题
    目录多余控件事件及代码删除一、选中控件-F4到属性-事件-选中想要删除的事件名称,删除;二、回到后台程序,删除事件代码即可注意:以上两步不可以反总结多余控件事件及代码删除 很多时候,...
    99+
    2023-01-28
    C#多余控件事件 C#代码删除 C#控件
  • C#实现文件上传功能代码分享
    本篇内容介绍了“C#实现文件上传功能代码分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实现按日期命名C#文件上传代码如下:private...
    99+
    2023-06-18
  • C#wpf使用ListBox实现尺子控件的示例代码
    目录前言一、如何实现?1、设置横向ListBox2、Item设为刻度样式3、绑定数据源二、完整代码三、效果预览总结前言 尺子在客户端开发中有一定的应用场景,比如厘米尺、白板的画线尺、...
    99+
    2024-04-02
  • C#中怎么实现一个窗体拖动事件
    C#中怎么实现一个窗体拖动事件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C#窗体拖动事件using System;  using ...
    99+
    2023-06-18
  • JavaScript实现鼠标控制自由移动的窗口
    本文实例为大家分享了JavaScript实现鼠标控制自由窗口的具体代码,供大家参考,具体内容如下 代码: <!DOCTYPE html> <html lang...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作