110,534
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 当数字键,空格,enter按下时,将值传回textbox
/// </summary>
/// <param name="str">要回传的值</param>
public delegate void SetTextBoxValue(string str);//在命名空间下声明
//子窗口
public partial class ListForm1 : Form
{
public ListForm1()
{
InitializeComponent();
}
/// <summary>
/// 用来将值回传到textbox
/// </summary>
public event SetTextBoxValue SetTxtValue;
/// <summary>
/// Listbox被选中的索引改变
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//得到原始的数据,去掉行号
string strBackValue = GetOriginalItems(this.listBox1.SelectedItem.ToString());
SetTxtValue(strBackValue);//将选中的Listbox中的值传回到要输入的文本框中,触发自定义事件
}
}
//父窗口
public partial class NurseDegree : Telerik.WinControls.UI.RadForm
{
private void lblInput_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
listForm.SetTxtValue += new SetTextBoxValue(listForm_SetTxtValue);//在父窗口订阅子窗口事件
}
/// <summary>
/// 事件传值关联方法
/// </summary>
/// <param name="str">传回来的string</param>
void listForm_SetTxtValue(string str)
{
//doSomething
}
}