如何在自己的click事件里修改自身的属性?
普通click是这种形式的button1_click(objectsender,eventargse){button1.text="a";}我想把它改成是{sender....
普通click是这种形式的
button1_click(object sender, eventargs e)
{ button1.text= "a";}
我想把它改成是{sender.text ="a"}却不能编译。
那,我该怎么改才是呢?
我知道肯定是不能sender.text。
但我就是要类似的改法,不然的话,会编死我自己的。(因为我有几百个这样的button,而每个的作用都是改动自己的text) 展开
button1_click(object sender, eventargs e)
{ button1.text= "a";}
我想把它改成是{sender.text ="a"}却不能编译。
那,我该怎么改才是呢?
我知道肯定是不能sender.text。
但我就是要类似的改法,不然的话,会编死我自己的。(因为我有几百个这样的button,而每个的作用都是改动自己的text) 展开
展开全部
方法一,强制类型转换:
// 若 sender 是其它类型则行不通(如 TextBox 也有 Text 属性)
Button button = (Button)sender;
button.Text = "属性值";
方法二,反射:
// 已知实例具有 Text 属性,但不清楚类型时,推荐使用
Type type = sender.GetType();
System.Reflection.PropertyInfo property = type.GetProperty("Text");
property.SetValue(sender, "属性值", null);
// 若 sender 是其它类型则行不通(如 TextBox 也有 Text 属性)
Button button = (Button)sender;
button.Text = "属性值";
方法二,反射:
// 已知实例具有 Text 属性,但不清楚类型时,推荐使用
Type type = sender.GetType();
System.Reflection.PropertyInfo property = type.GetProperty("Text");
property.SetValue(sender, "属性值", null);
展开全部
看下我这个...
遍历页面上所有TextBox控件并给它赋值为 "a" ;
foreach (System.Windows.Forms.Control control in this.Controls)
{
if (control is System.Windows.Forms.Button)
{
System.Windows.Forms.Button button = (System.Windows.Forms.Button)control ;
button.Text = "a";
}
}
遍历页面上所有TextBox控件并给它赋值为 "a" ;
foreach (System.Windows.Forms.Control control in this.Controls)
{
if (control is System.Windows.Forms.Button)
{
System.Windows.Forms.Button button = (System.Windows.Forms.Button)control ;
button.Text = "a";
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
强制转换,sender本身是object类型而不是Button类型
Button m_Button = (Button)sender;
m_Button.Text = "a";
Button m_Button = (Button)sender;
m_Button.Text = "a";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Button m_Button = (Button)sender;
m_Button.Text = "a";
m_Button.Text = "a";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样也行:
((Button)sender).Text="你要的文本";
((Button)sender).Text="你要的文本";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一句话,强转么~!你牛头肯定对不上马嘴~~最简单的拆装箱
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询