1. 程式人生 > >跨窗體傳值用委託

跨窗體傳值用委託

跨窗體傳值有許多方法,例如可以通過靜態類變數跨窗體傳值等等,(當然了方法多了去了,感興趣的自己區總結)。對於像我這樣的小白還是多對學習的,本文通過委託跨窗體傳值,(委託對於跨執行緒真的是好用)

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#,所以希望簡單的東西也可以幫到你)