发布网友 发布时间:2022-05-01 22:32
共2个回答
热心网友 时间:2023-10-06 04:24
给新窗口定义事件。
这里由于字数*,两个窗口我都用同一个类了。
<Window x:Class="WpfApplication1.MainWindow"using System;
using System.Windows;
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
/// <summary>
/// 处理文本变化时间的委托
/// </summary>
public delegate void TextChangedHandler(object sender, TextChangedArgs e);
/// <summary>
/// 用来记录变化的文本
/// </summary>
public class TextChangedArgs : EventArgs
{
public string Text { get; set; }
public TextChangedArgs(string text)
{
Text = text;
}
}
/// <summary>
/// 文本变化事件
/// </summary>
public event TextChangedHandler TextChanged;
private void Button_Click(object sender, RoutedEventArgs e)
{
MainWindow mw = new MainWindow();
mw.TextChanged += Mw_TextChanged;
mw.Show();
}
/// <summary>
/// 处理TextChanged事件
/// </summary>
private void Mw_TextChanged(object sender, TextChangedArgs e)
{
this.label.Text = e.Text;
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
if (TextChanged != null)
{
//引发事件,txtInput.Text 可以改成任意字符串
TextChanged.Invoke(this, new TextChangedArgs(txtInput.Text));
}
}
}
}
热心网友 时间:2023-10-06 04:24
把主窗口的引用传到新窗口里追问能写个代码吗?就是自己试了不成功才来问别人的T^T追答主窗口:form1=new form1(this)
子窗口:
class form2
{
public form2(form1 f)
{
把f用变量保存起来。想用的时候调用
}
}