跨窗體傳值用委託
跨窗體傳值有許多方法,例如可以通過靜態類變數跨窗體傳值等等,(當然了方法多了去了,感興趣的自己區總結)。對於像我這樣的小白還是多對學習的,本文通過委託跨窗體傳值,(委託對於跨執行緒真的是好用)
1.下面直接上幾行程式碼
在Window1窗體中,通過window1窗體的按鈕改變Mainwindow窗體的Textbox的值:
public partial class Window1 : Window { public delegate void changeComboxIsEnable(string falg); public changeComboxIsEnable change; public Window1() { InitializeComponent(); } private void button_Click(object sender, RoutedEventArgs e) { change(textBox.Text ); this.Close(); } }
在Mainwindow窗體中,把修改Textbox的方法委託給change
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void d(string s) { textBox.Text = s;
}
private void button_Click(object sender, RoutedEventArgs e) { Window1 win = new Window1(); win.change = new Window1.changeComboxIsEnable(d); win.ShowDialog(); } }
2.結果如下:
很簡單但是對於委託跨執行緒更新值,(因為自己自學C#,所以希望簡單的東西也可以幫到你)