- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我刚开始编程,我想使用 WinForms 制作多个按钮,您可以单击这些按钮从白色变为浅绿色,然后再变为白色。我已经为一个按钮完成了这个:
private void button1_Click(object sender, EventArgs e)
{
if (button1.BackColor != Color.Lime)
{
button1.BackColor = Color.Lime;
}
else
{
button1.BackColor = Color.White;
}
}
现在我可以为所有按钮复制并粘贴它,但我知道这样做效率很低;如果我使用 winforms 在 button2 上引用 button1,它只会改变 button1 的颜色(很明显)。
那么,我是否需要使用辅助方法、新类或其他东西?那会是什么样子?
最佳答案
有几种方法。一种可能是创建一个不同按钮调用的通用函数:
private void button1_Click(object sender, EventArgs e)
{
ChangeColor(button1);
}
private void ChangeColor(Button button)
{
if (button.BackColor != Color.Lime)
button.BackColor = Color.Lime;
else
button.BackColor = Color.White;
}
然后每个按钮处理程序都可以使用相同的函数调用。
或者,如果所有这些按钮总是做完全相同的事情,那么您可以对所有按钮使用一个点击处理函数。在这种情况下,您需要做的是确定哪个按钮调用了处理程序(而您当前正在直接引用 button1
),以便您知道要更改哪个按钮。传递给处理程序函数的 sender
对象实际上是对调用处理程序的表单元素的引用。您需要做的就是转换它:
private void button_Click(object sender, EventArgs e)
{
var button = (Button)sender;
if (button.BackColor != Color.Lime)
button.BackColor = Color.Lime;
else
button.BackColor = Color.White;
}
因此,处理程序首先获取对调用它的按钮的引用,然后在该按钮上运行逻辑。另请注意我是如何使处理程序函数的名称稍微更通用的。现在,您将转至表单设计器并将 button_Click
设置为应调用此按钮的所有按钮的点击处理程序。
关于c# - 如何让按钮做同样的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17754823/
那就是我的第一个使用MVVM的项目,MVVM light。 我有一个列表框,该列表框从PersonList Observable集合中刷新,正常添加和删除刷新。问题是编辑项目时。 我寻找了解决该问题的
这个问题在这里已经有了答案: How do I return the response from an asynchronous call? (41 个回答) 关闭10 年前。 我有这个代码 var
我有一个很大的配置文件(用户),我需要将其转到正确的位置并设置一些默认值。 因为我有一个安装程序类,所以我在其中的配置文件中添加了一些参数设置,但在安装程序文件夹中创建了配置文件。 确保这些默认参数只
|AA|多对多|BB|多对多 |CC| 与连接表映射成为 |AA|--|AA_BB|--|BB|--|BB_CC|--|CC| (抱歉,我无法发布图片,声誉低) 编辑:简短的问题是为什么如果a创建Aa
我想创建这个例子 GET /my_store/products/_search { "query" : { "filtered" : { "query"
AWS 为我们提供了 Athena 来运行无服务器 Hive 查询,Azure 是否有任何服务可以让我们运行无服务器 Hive 查询。 最佳答案 @ clown 。我相信您正在寻找的 Hive 的 A
这让我抓狂......这很好用: jQuery(document).ready(function(){ setTimeout(function(){ jQuer
我是一名优秀的程序员,十分优秀!