this.imageList1.Images.SetKeyName 报错

jxfzcgh 2010-11-12 01:04:16
以下设计器代码总是报错,
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
this.imageList1.Images.SetKeyName(0, "19.ico");
this.imageList1.Images.SetKeyName(1, "page_excel.ico");
this.imageList1.Images.SetKeyName(2, "icon2_071.ico");
this.imageList1.Images.SetKeyName(3, "icon2_038.ico");
this.imageList1.Images.SetKeyName(4, "icon2_023.ico");
this.imageList1.Images.SetKeyName(5, "刷新2.ico");
this.imageList1.Images.SetKeyName(6, "11.ico"); //这一句报错,这个图标是后来新添加的

错误提示数组超出索引,应该是最后图标没有加入进去,但是我在VS IDE中确实已经加入图标,且绑定到按钮
能显示,运行就不行为什么

另外 imageList的图标是存储在什么地方?

...全文
474 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxfzcgh 2010-11-12
  • 打赏
  • 举报
回复
imageList里面的图片本来就是在窗体设计器中直接加载的,不是我改动了代码

不过问题莫名其妙解决了,不知为何,解决方法如下:
1、现在窗体代码文件中的 Form1类中最顶上随便加一个类,如下
public partial class Form1
{
public class someclass
{
}
}
2、编译,报错
3、再去掉刚才加的代码,再编译,OK
colorall 2010-11-12
  • 打赏
  • 举报
回复
imageList1集合里图片总数就6个
添加这一行肯定会索引越界
this.imageList1.Images.SetKeyName(6, "11.ico");


imageList1的图标是存储在资源文件里,只要在Image(Collection)添加图片就行
不要直接改动设计器自动生成的代码,不理解他的结构很容易改错的。
内容概要:本文以DVWA漏洞靶场中的命令注入漏洞为切入点,结合通信行业5G网管系统的实际应用场景,深入剖析了命令注入的攻击原理与防御机制。通过对比低级别(Low)存在漏洞的代码与高级别(Impossible)安全加固后的代码,详细展示了攻击者如何利用未过滤的用户输入执行恶意系统命令,并进一步提出白名单验证、输入拆分重组、输出编码等关键技术手段实现有效防护。文章强调在通信行业高度依赖自动化运维的背景下,此类漏洞可能导致核心网元被渗透、配置被篡改,因此必须采取代码层与系统层相结合的纵深防御策略。此外,文中还展望了未来在5G MEC、SDN等新技术环境下,零信任架构与AI驱动的安全审计将成为重要发展方向。; 适合人群:具备一定网络安全基础知识,从事通信行业网络运维、安全开发或系统架构工作的技术人员,以及关注Web安全与工业级代码防护的研发人员。; 使用场景及目标:①理解命令注入漏洞在通信网管系统中的真实危害与攻击路径;②掌握工业级安全编码实践,提升对输入验证、输出编码、权限控制等核心安全机制的应用能力;③为5G网络管理系统安全加固提供可落地的技术参考; 阅读建议:学习时应结合DVWA靶场动手复现文中案例,重点分析漏洞形成条件与防御代码的设计逻辑,并延伸思考如何将“最小权限原则”和“参数化执行”应用于自身业务系统中,强化安全开发意识。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧