zoukankan      html  css  js  c++  java
  • 如何用委托实现登陆窗口后将一些值传递给主窗口

    代码
     1 public partial class frm_Login : Form
     2     {
     3         public class TitleChangedEventArgs : EventArgs //事件参数类
     4         {
     5             private string title = "";
     6             public string Title
     7             {
     8                 get
     9                 {
    10                     return title;
    11                 }
    12                 set
    13                 {
    14                     title = value;
    15                 }
    16             }
    17         }
    18         public delegate void TitleChangedEventHandler(object sender, TitleChangedEventArgs e);
    19         public event TitleChangedEventHandler TitleChanged;
    20         public frm_Login()
    21         {
    22             InitializeComponent();
    23         }
    24 
    25         //该方法为登录按钮事件
    26         private void btn_Ok_Click(object sender, EventArgs e)
    27         {
    28             TitleChangedEventArgs e1=new TitleChangedEventArgs();
    29             e1.Title="Login sucessed";
    30             OnTitleChanged(e1);  //触发事件
    31             this.Close();
    32         }
    33 
    34         protected virtual void OnTitleChanged(TitleChangedEventArgs e)
    35         {
    36             if (TitleChanged != null)
    37                 TitleChanged(this, e);
    38         }
    39     }
    40 
    41 主窗体中订阅这个事件就可以了:
    42     public partial class frm_Main : Form
    43     {
    44         private frm_Login loginForm = new frm_Login(); 
    45         public Form1()
    46         {
    47             InitializeComponent();
    48             loginForm.TitleChanged += new frm_Login.TitleChangedEventHandler(FormTitleChanged);
    49         }
    50 
    51         protected void FormTitleChanged(object sender, frm_Login.TitleChangedEventArgs e)
    52         {
    53             this.Text = e.Title;
    54         }
    55 
    56         private void button1_Click(object sender, EventArgs e)
    57         {
    58             loginForm.Show();
    59         }
    60     }
  • 相关阅读:
    交叉编译工具链
    QNX Hypervisor管理程序
    DSP与CEVA芯片
    Runtime系统
    使用Xjar对jar文件进行加密,防止反编译
    有10个线程, 主线程怎么等待10个线程执行完之后才执行
    vue——使用echart后,字体模糊问题
    css——background属性设置background-size
    echart——宽度设置无效问题
    js——实现缩略图滑动,实际图对应滑动
  • 原文地址:https://www.cnblogs.com/zs851/p/1713083.html
Copyright © 2011-2022 走看看