问题描述:
这里有两个窗体Form1和Form2,在Form1中有两个linkbutton控件(linkbutton1和linkbutton2),在Form2中有一个textbox控件。。此时两个窗体都是打开的,现在我点击Form1中的linkbutton1,则在Form2中的textbox控件中显示“从Linkbutton1点击”;同样,点击linkbutton2,则在Form2中的textbox控件中显示“从Linkbutton2点击”。。
有点类似在千千静听中的主窗体和歌曲列表两个窗体。。在歌曲列表中选择歌曲,在主窗体中就能接受传过来的值。。我在网上搜了一下,有人说用委托可以实现。。希望能给出比较详细的实现代码,谢谢!
这里有两个窗体Form1和Form2,在Form1中有两个linkbutton控件(linkbutton1和linkbutton2),在Form2中有一个textbox控件。。此时两个窗体都是打开的,现在我点击Form1中的linkbutton1,则在Form2中的textbox控件中显示“从Linkbutton1点击”;同样,点击linkbutton2,则在Form2中的textbox控件中显示“从Linkbutton2点击”。。
有点类似在千千静听中的主窗体和歌曲列表两个窗体。。在歌曲列表中选择歌曲,在主窗体中就能接受传过来的值。。我在网上搜了一下,有人说用委托可以实现。。希望能给出比较详细的实现代码,谢谢!
然后添加相应的事件即可的。
不太需要用到什么委托。
http://blog.csdn.net/yistudio/archive/2005/03/08/314641.aspx
http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx
http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx
void F()//这是Form1里面的方法
{
textBox1.Text="从Linkbutton2点击";
}void F()//这是Form2里面的方法
{
textBox1.Text="从Linkbutton1点击";
}在点击按纽的时候申明一个窗体类 调用方法就可以了
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent(); SecondForm form = new SecondForm();
form.MyEvent += (sender, e) => { this.textBox.Text = e.Source; };
form.Show();
}
}public partial class SecondForm : Form
{
public SecondForm()
{
InitializeComponent();
} public event EventHandler<MyEventArgs> MyEvent; private void OnButtonClick(object sender, EventArgs e)
{
if (this.MyEvent != null)
{
if (sender == this.button1)
this.MyEvent(this, new MyEventArgs("Button 1"));
else if (sender == this.button2)
this.MyEvent(this, new MyEventArgs("Button 2"));
}
}
}public class MyEventArgs : EventArgs
{
public MyEventArgs(string source)
{
this.Source = source;
} public string Source { get; private set; }
}
public partial class Form1 : Form
{
string kk;
Form2 form = new Form2();
public Form1()
{
InitializeComponent();
form.Show();
}
private void button2_Click(object sender, EventArgs e)
{
kk = "sdfsdfs";
form.mmm(kk);
form.Show();
} private void button3_Click(object sender, EventArgs e)
{
kk = "xxxxxxxxxx";
form.mmm(kk);
form.Show();
}
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
} public void mmm(string kk)
{
label1.Text = kk;
} }