C# 控件如何当成参数传给方法、 并且在方法里面使用它?

比如说我在Class类里面写一个方法。
public static void TextBoxClearAll(TextBox tb) 设立一个参数 为TextBox类型
{
tb.clear(); 能点出clear();
}
然后窗体代码
private void buttonClear_Click(object sender, EventArgs e)
{
Class.TextBoxClearAll(textBoxUname); 清楚按钮的点击事件上 调用这个方法 传入textBoxUname控件作为参数进去。
}
为什么行不通呢?

第1个回答  2014-03-15
public static void TextBoxClearAll(TextBox tb) 设立一个参数 为TextBox类型
{
tb.clear(); 能点出clear();
}
改成
public static void TextBoxClearAll(TextBox tb) 设立一个参数 为TextBox类型
{
tb.Text="";
}追问

我做这个不是想清空, 而是想如何把控件当成方法参数传递
在别的类里面操作窗体上面的控件。

追答

那使用委托:比如:
public delegate void UpdateText(TextBox content);

private void UpdateRichTextBox(TextBox content)
{
content.Text = content.Text + "abc"+ "\n";
}

使用时:
UpdateText mitxt = new UpdateText(UpdateRichTextBox);
if (this.IsHandleCreated)
{
this.Invoke(mitxt, tb);
}

本回答被提问者采纳
第2个回答  2014-03-15
textBoxUname是TextBox?从代码中没看出

C# 控件如何当成参数传给方法、 并且在方法里面使用它?
public static void TextBoxClearAll(TextBox tb) 设立一个参数 为TextBox类型 { tb.clear(); 能点出clear();} 改成 public static void TextBoxClearAll(TextBox tb) 设立一个参数 为TextBox类型 { tb.Text="";}

C# 如何将控件作为方法参数
直接作为object传过去,然后再根据需要检测类型:public void show(Object o){ if (o is Label){ (o as Label).Text = "123";} else if (o is TextBox){ (o as TextBox).Text = "123";} }

C#怎么Form2怎么使用Form1里面的控件?
Form1代码中 Form2 F2 = new F2();F2.ShowF2(this);\/\/“this”自已传过去 然后Form2中自己写一个ShowF2的方法 Form2中的代码:void ShowF2(Form1 form1)\/\/参数为Form1类 类型参数 { this.show();\/\/先把自己show出来 form1.NotifyIcon1...\/\/在这里你就可以使用Form1的东东啦 } ...

C#WinForm如何给控件的Click事件传送参数?
这个里面的sender其实就是触发这个事件的源控件.那么你在处理这个函数的时候就可以,通过强制类型转换.将他转换成你指定的类,然后在访问它.Label lbl=(Label)sender;MessageBox.Show(lbl.Name+""+lbl.Ttext);等.通过这个原理,你可以将执行相同功能的代码的事件指向为通一个方法,这样就可以实现事件代码的...

c#类中如何调用form里面的参数
通过参数传值啊,实例化类的时候就把form1中的textbox1的值 传进去 一是构造函数 二是方法本身也可以加参数来传值 。望采纳

C# EventHander(某方法),如何给“某方法”传入参数
pic.DoubleClick += new EventHandler(PictureDoubleClick);这个PictureDoubleClick好像必须有object和eventarg参数吧。这个object是被点击控件本身 eventarg对应了doubleClick这个事件,和TreeNode没有关系吧。不如你定义个类变量,把你的Node[i]保存起来。

C#中如何在一个窗体中调用另一个窗体控件中的数据?
1、首先在窗体上增加如下的三个控件,两个label,一个button,我们要实现的效果是label1每一秒增加一个数字,label2每点击一下button增加一下数字。2、用到了定时任务,如下是两个定时任务的代码,一个是手动定时任务,就是我们点击按钮以后执行的,另一个是自动的订单是任务,程序运行以后执行的。3、...

c#windows窗体 怎么给用户控件传递泛型类
此外,给用户控件(或者说一个类)传类型参数真的是有很多种方法。一、在类说明上直接用泛型声明 二、在类的构造中加入参数(Type t),准确的说不是泛型但是用法类似。三、在类中加一个设置参数的方法,此方法可以写成泛型版。四、在类中加一个设置参数的方法,传入参数Type t。五、向类中传T类型的...

C# 在窗体A上用ShowDialog打开B窗体后,如何在B窗体上操作A窗体上的控件...
方法1:使用窗体的Owner属性 步骤 1)在窗体A呼叫窗体B之前,将窗体A赋予窗体B,即 fasSet.Owner = this;表示fasSet(窗体B)拥有窗体A,如下面代码:\/\/\/ \/\/\/ 呼叫窗体B \/\/\/ void WakeUpForm(){ FmAlarmSet fasSet = new FmAlarmSet();\/\/将本窗体设为“设置窗体”所有 fasSet.Owner = thi...

C#中能不能通过窗口传值法将图片传递至另外一个窗体.?
可以呀,在构造方法里加上参数就行 Form2:private ImageList myImgs = null;public Form2(ImageList images){ this.myImgs = images;} public void button_click(){ myImgs.count;} Form1:Form2 frm = new Form2(imageList);frm.show();...

相似回答