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     }
  • 相关阅读:
    HDU 1203 01背包变形题,(新思路)
    HDU 2955 变形较大的01背包(有意思,新思路)
    HDU 2191(多重背包转换为01背包来做)
    HDU 1114(没有变形的完全背包)
    HDU2546(01背包加一点点变形)
    HDU 1950(LIS)
    c模拟 页式管理页面置换算法之FIFO
    HDU 1257 最少拦截系统(贪心 or LIS)
    路由选择(codevs 1062)
    钓鱼(洛谷 P1717)
  • 原文地址:https://www.cnblogs.com/zs851/p/1713083.html
Copyright © 2011-2022 走看看