• 如何用委托实现登陆窗口后将一些值传递给主窗口


    代码
     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     }
  • 相关阅读:
    cpu几种架构区别
    linux之cp/scp命令+scp命令详解
    解读Linux命令格式(转)
    IO虚拟化简单了解
    NoSQL-来自维基百科
    kvm命令参数记录
    kvm 简单了解
    host与guest间共享文件夹的三种方法(原创)
    新装linux系统最基本设置
    kernel编译速度提高
  • 原文地址:https://www.cnblogs.com/zs851/p/1713083.html
Copyright © 2020-2023  润新知