也谈 Silverlight子窗口(ChildWindow)传递参数到父窗口演示

本文介绍了一种在Silverlight应用中实现子窗口(testChildWindow)与父窗口间参数传递的方法。通过设置子窗口的Closed事件及DialogResult属性,可以在用户点击确定按钮后将当前时间作为字符串返回给父窗口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

早晨看到 jv9 兄的《Silverlight子窗口(ChildWindow)传递参数到父窗口演示》一文。和自己的想法稍有不同,在些写出请大家指正。

 

我的想法是直接使用弹出窗口的Closed事件

 

1. 弹出窗口代码

我们让窗口在点击OKButton按钮后返回当前时间

ContractedBlock.gif ExpandedBlockStart.gif Code
 1 public partial class testChildWindow : ChildWindow
 2     {
 3         public string testString { getset; }
 4         public testChildWindow()
 5         {
 6             InitializeComponent();
 7         }
 8 
 9         private void OKButton_Click(object sender, RoutedEventArgs e)
10         {
11             testString = DateTime.Now.ToString();
12             this.DialogResult = true;
13         }
14 
15         private void CancelButton_Click(object sender, RoutedEventArgs e)
16         {
17             this.DialogResult = false;
18         }
19     }

 

2. 弹出窗口并返回值

ContractedBlock.gif ExpandedBlockStart.gif Code
 1 testChildWindow tc = new testChildWindow();   //实例化弹出窗口
 2         public SilverlightControl1()
 3         {
 4             InitializeComponent();
 5             tc.Closed += new EventHandler(tc_Closed);  //弹出窗口的关闭事件
 6             this.Loaded += new RoutedEventHandler(SilverlightControl1_Loaded);
 7         }
 8 
 9         void SilverlightControl1_Loaded(object sender, RoutedEventArgs e)
10         {
11             tc.Show(); //弹出窗口
12         }
13 
14         void tc_Closed(object sender, EventArgs e)
15         {
16             string val = tc.testString;//返回的值
17         }

 

3. 使用技巧

ContractedBlock.gif ExpandedBlockStart.gif Code
1 void tc_Closed(object sender, EventArgs e)
2         {
3             //当弹出窗口的DialogResult为真是,才弹出消息
4             //如:在弹出窗口点击 OKButton按钮时弹出消息
5             //    而用户点击CancelButton按钮或点击了窗口关闭小杈时,不做响应
6             if ((bool)tc.DialogResult)
7                 MessageBox.Show(tc.testString);
8         }

 

 

转载于:https://www.cnblogs.com/BlackCoffee/archive/2009/11/26/1611311.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值