分享程式代碼相關筆記
目前文章總數:157 篇
最後更新:2024年 12月 07日
當點擊Form2的按鈕時,可以將值傳給Form1 字串 => “123456”
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//1. 宣告Form2的物件
Form2 ReturnCallback = new Form2();
//4. 再載入時,將變數ReturnCallback的ReturnCallback 函式掛載Form1中的韓函式 Data()
private void Form1_Load(object sender, EventArgs e)
{
//讓MyMailWork掛載事件回傳Identifier的事件
ReturnCallback.ReturnCallback += new Form2.ReturnDelegate(this.Data);
}
//3. 點擊Form1上的 "點擊新增Form2" 按鈕
private void button1_Click(object sender, EventArgs e)
{
ReturnCallback.Show();
}
//2. 在Form1建立得到Form2的回傳值得Function
private void Data(string GetStream)
{
//將傳回的字串放進Form1上的文字顯示
this.label1.Text = $@"接收到的值:""{GetStream}""";
}
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
//1. 建立Form2中的委派物件宣告
public delegate void ReturnDelegate(string Stream);
//2. 接著建立此宣告的變數,提供回傳給主類別叫用
public event ReturnDelegate ReturnCallback;
//3. 點擊Form1上的 "點擊新增Form2" 按鈕
private void button1_Click(object sender, EventArgs e)
{
//將Form2上的文字,透過委派傳給Form1
ReturnCallback(this.textBox1.Text);
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//宣告Form2的物件
Form2 ReturnCallback = new Form2();
//再載入時,將變數ReturnCallback的ReturnCallback 函式掛載Form1中的韓函式 Data()
private void Form1_Load(object sender, EventArgs e)
{
//1. 改成Action的呼叫
ReturnCallback.ConvertMethod += Data;
}
//點擊Form1上的 "點擊新增Form2" 按鈕
private void button1_Click(object sender, EventArgs e)
{
ReturnCallback.Show();
}
//在Form1建立得到Form2的回傳值得Function
private void Data(string GetStream)
{
//將傳回的字串放進Form1上的文字顯示
this.label1.Text = $@"接收到的值:""{GetStream}""";
}
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
//1. 建立Action的變數,Action<string> 表示傳入參數為(string paramater1)
public Action<string> ConvertMethod;
//點擊Form1上的 "點擊新增Form2" 按鈕
private void button1_Click(object sender, EventArgs e)
{
//2. 將Form2上的文字,透過委派傳給Form1
ConvertMethod(this.textBox1.Text);
}
}