【C#】关于sender.equals与label的问题

问题描述

privatevoidlabel1_Click(objectsender,EventArgse){foreach(variteminthis.panel1.Controls){if(sender.Equals(itemasLabel)){if((itemasLabel).BackColor==Color.Turquoise){(itemasLabel).BackColor=Color.Orange;textBox1.Text+=(itemasLabel).Text+"座"+"rn";}elseif((itemasLabel).BackColor==Color.Orange){(itemasLabel).BackColor=Color.Turquoise;stringstr=textBox1.Text.Replace((itemasLabel).Text+"座"+"rn",string.Empty);textBox1.Text=str;}}}}

这样写sender和label是相等的。[code=csharp][/privatevoidlabel1_Click(objectsender,EventArgse){for(inti=0;i<lengthx;i++){for(intj=0;j<lengthy;j++){if(sender.Equals(mylabel[i,j])){if(mylabel[i,j].BackColor==Color.Turquoise){mylabel[i,j].BackColor=Color.Orange;textBox1.Text+=(i+1)+"排"+(j+1)+"座"+"rn";}elseif(mylabel[i,j].BackColor==Color.Orange){mylabel[i,j].BackColor=Color.Turquoise;stringstr=textBox1.Text.Replace((i+1)+"排"+(j+1)+"座"+"rn",string.Empty);textBox1.Text=str;}}}}}code]而这样写就找不到相等的label实例,为什么呢?

解决方案

解决方案二:
1、Equals有两种概念,一种是数值相等(针对值类型以及String类型变量,String是特殊的引用类型),另外一种是引用同一个地址的等同2、sender.Equals(itemasLabel),这里就是引用同一个对象实例的等同3、sender.Equals(mylabel[i,j]),mylabel数组元素,很显然和Panel中的Label不是一个存储空间

时间: 2024-09-13 15:00:46

【C#】关于sender.equals与label的问题的相关文章

面向 Java 开发人员的 Ajax: Google Web Toolkit 入门

简介: Ajax 被用于创建更加动态和交互性更好的 Web 应用程序.Google Web Toolkit (简称GWT) 是 Google 推出的 Ajax 应用开发包,GWT 支持开发者使用Java 语言开发 Ajax 应用.本文中作者将介绍如何使用 GWT 开发 Ajax 应用的基本方法和步骤. ## Ajax简介 ## Ajax是 Asynchronous JavaScript and XML(以及 DHTML 等)的缩写,由XHTML.CSS.JavaScript.XMLHttpReq

使用.INI文件为输入界面创建“动态帮助”

创建|动态 在c#编程中,某些情况下我们可能还会用到.INI文件.例如为一个输入界面创建"动态帮助": 我们在输入界面下方设置一个标签,当用户将光标移动到每一个TextBox或其他输入,选择框时,标签文字自动变换为该输入项的一些帮助信息. INI文件是文本文件,由若干节(section)组成,在每个带括号的标题下面,是若干个关键词(key)及其对应的值(Value) [Section] Key=Value 我们的INI文件比较简单,文件名为:HelpInfo.ini.---------

从 C++ 向 C# 迁移

c++ 从 C++ 向 C# 迁移发布日期: 1/24/2005 | 更新日期: 1/24/2005John KennedyMicrosoft Corporation 下载 Road07102002-code.exe. 本页内容 纸牌游戏 图形和 SDE 声音效果 与生活中的许多事情一样,有时要学习某些知识的唯一方式就是亲自去尝试.当然,也有一些很显著的例外.我可不建议通过这种方式去学习外科手术(哈哈),但是对于学习智能设备扩展 (SDE) 和用 C# 编写适用于 Pocket PC 的程序,这

web项目中页面修改javamail发件人信息后发邮件失败

问题描述 web项目中页面修改javamail发件人信息后发邮件失败 我们的web项目使用javamail发送邮件.页面可修改发送邮件的服务器.发件人信息,但是现在在页面修改发件人邮箱地址和密码之后,发送邮件失败.重起Tomcat服务器之后,又可以正常发送邮件,各位大神,有谁知道为什么呢? public boolean sendMail(String subject String body){ Properties props = new Properties(); props.put("&qu

抽象的艺术 - 朴素贝叶斯

Situation 2016年,A市对30000+市民进行了年收入统计,收入>=50K的人数7000+,<=50K的人数20000+. 为了提高税收,需要分析两种收入群体的特征,分析员抽取了"职业.年龄.性别.出生地.教育程度"等属性,更进一步分析哪些职业收入高,哪个年龄段收入高等等,为来年税收做预测. 问题来了:2017年2月,A市人口增加了20000+,对这个群体年收入做预测. 朴素贝叶斯 分类算法有很多种,今天讲朴素贝叶斯的原理和Java实现. 朴素贝叶斯分类的正式定

Xamarin.Forms——尺寸大小(五 Dealing with sizes)

原文:Xamarin.Forms--尺寸大小(五 Dealing with sizes) 如之前所见的大量可视化元素均有自己的尺寸大小: iOS的状态栏高度为20,所以我们需要调整iOS的页面的Padding值,留出这个高度. BoxView设置它的默认宽度和高度为40. Frame的默认Padding为20. StackLayout的默认Spacing属性值为6. 还有Device.GetNamedSize方法,该方法将Label或Button等控件中使用的NamedSize枚举值转换为不同平

脚本绘图工具总结(转)

我们总是要写各种文档,演示各种PPT,写各种博客,其中都少不了需要作出一些图形,用于形象的展示出想要表达的信息.Windows自带的画图.Paint.Net,Visio.Rose等各种工具,只要有足够的耐心,并且对这些工具足够熟悉,都可以做出各种强大.各种类型的图形. 但是我作为程序员,非常不擅长这种用鼠标操作的作图工具,迫切需要一款用键盘敲出来的脚本绘图工具,就像写文档时,不喜欢用Word而是用Markdown一样. 经过了解,总算是找到了一些这样的工具,下面分别介绍一下. graphviz

asp.net中gridview的查询、分页、编辑更新、删除的实例代码_实用技巧

1.A,运行效果图 1.B,源代码/App_Data/sql-basic.sql 复制代码 代码如下: use mastergoif exists(select * from sysdatabases where name='db1')begin    drop database db1endgocreate database db1gouse db1go-- ================================-- ylb:1,类别表-- =====================

web窗体-System.NullReferenceException: 未将对象引用设置到对象的实例。

问题描述 System.NullReferenceException: 未将对象引用设置到对象的实例. 错误的问题! 未将对象引用设置到对象的实例. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例. 源错误: 行 40: 行 41: Application.Lock(); 行 42: ((Panel)Appl