C# winform 用户控件内button事件给窗体赋值

写了一个用户控件 控件内有button 用class1.str2=((button)sender).text;给公共变量赋值,想在窗体中把公共变量的值取出来给textbox
然后在把这个自定义控件拖到窗体上 事件我该怎么在这个控件上写
网上搜了些说可以调用用户控件内的button_click事件 可是在窗体上控件也是要有一个事件来触发绑定的事件
控件内获取button值 - 赋值给公共变量 - 在窗体中取出来显示在textbox
求解决方法

用户控件本质上还是一个类,因此其属性和事件的定义方法是通用的。你先看看普通的类是如何定义属性和事件,以及引发事件的。
然后再回到用户控件,很自然的需要把内部的事件比如按钮点击事件传递到用户控件整体的事件中,那么在按钮的点击事件里引发用户控件事件即可。也需要把用户控件的属性比如Text双向传递给文本框,在用户控件属性里封装即可。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-08-15
用委托和事件就可以实现追问

能有代码贴出来吗 说的不是很明白

本回答被提问者采纳

C# winform 中 有一窗体 A ,A中有一个按钮Btn, 单击 Btn 调用窗体B...
关闭子窗体B的时候返回一个值给父窗体A,A接受到这个值就close,参考代码如下:A窗体btn的单击事件:private void Btn_Click(object sender, EventArgs e){ Form1 formB = new Form1();formB.ShowDialog();if (formB.DialogResult == DialogResult.Cancel){ this.Close();} } ...

C#windows窗体中的button按钮,点击后调用控制台程序,并且控制台屏幕上显...
其实很简单,在WinForm里面用Process来开启一个控制台程序,并且捕获它的标准输入输出,就可以实现WinForm和控制台交互了。关于传值:有两种理解,一种是传参数,在Process.StartInfo里面可以设置传的参数 另一种理解是打开控制台后输入一行命令并回车,让控制台执行这个命令。Process cdb = new Process();P...

c# winform 如何取得用户控件中 的值
private void button1_Click(object sender, EventArgs e){ this.Value = "TEST";} } 在窗体中使用添加的事件 this.userControl11.OnValueChanged += new System.EventHandler(this.userControl11_OnValueChanged);在事件触发时调用自定义控件的属性就可以了 private void userControl11_OnValueChanged(objec...

C#WinForm如何在点击按钮获取数据后,将数据在按钮所在窗体上显示...
根据返回的数据行,动态计算出需要增加的高度,重新设置窗体的高度。再将数据显示到表格中即可。如果数据为空,则隐藏表格。

在c#winform中,通过点击form1窗体中的button按钮跳转到form2窗体的tabp...
在窗体form1 中的Button_Click事件中写:form2 f = new form2();f.show();然后在from2窗体的构造函数中写:tabControl1.SelectedTab = tabPage2;这样子就可以了,祝你好运哦

c# winform 比如说一个窗体中有很多个button ,当鼠标在窗体中点击的时候...
\/\/以下代码,在Form1_Load中,为所有按钮添加事件,点击后显示此按钮的id private void Form1_Load(object sender, EventArgs e){ foreach (Control c in this.Controls){ try { Button b = c as Button;b.Click += new EventHandler(b_Click);} catch { } } } void b_Click(object ...

c#中winform的webbrowser控件在窗体中如何获取按钮或者的事件?
1、在打开的ie浏览器窗口右上方点击齿轮图标,选择“Internet选项”,如下图所示:2、在打开的Internet选项窗口中,切换到安全栏,在安全选卡中点击“自定义级别”,如下图所示:3、在“安全设置-Internet 区域”界面找到“Java 小程序脚本”、“活动脚本”,并将这两个选项都选择为“禁用”,然后点击...

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

请问如何在C#窗体的按钮上做一个键盘事件?
private void button1_Click(object sender, EventArgs e){ } 然后你可以在那{}中间自己编辑:如 private void button1_Click(object sender, EventArgs e){ this.Close();\/\/关闭此窗口 } 还可以:private void button1_Click(object sender, EventArgs e){ Application.Exit();\/\/也是关闭此窗口 }...

C#中在一个窗体中通过按钮打开另一个窗体
1、在winform项目点击右键-添加-新建项-Windows Forms-Windows 窗体,新建一个要弹出的窗体Form2。2、在Form1中拖入一个button,修改Text属性为弹出窗体。3、双击按钮,进入代码编写界面。4、编写代码“Form2 form2=new Form2;form2.ShowDialog();”。5、点击启动按钮,或者按F5键,运行程序。6、点击...

相似回答