C#.NET中的事件2

/*
 * Created by SharpDevelop.
 * User: noo
 * Date: 2009-8-17
 * Time: 15:34
 * 
 * 事件2
 
*/

using System ;
using System .Windows .Forms ;
class Test
{
    
static void Main()//入口函数
    {
        Form frm
=new Form ();//新建一窗体
        frm.Text ="我的窗体";
        Button btn1
=new Button ();//新建按钮1
        btn1.Text ="未点击按钮1";
        btn1.Dock 
=DockStyle.Left;
        btn1.Click 
+=new EventHandler (btn1_clicked);//添加事件处理代理,btn1_clicked为自定义的函数名,当点击按钮的时候执行btn1_clicked中的代码,这就是代理的概念
        frm.Controls .Add (btn1);//把按钮加入到窗体中
        frm.ShowDialog ();
    }
    
public static void btn1_clicked(object sender,System.EventArgs e)//代理事件的自定义方法,与btn1.Click事件勾连,注意里面的参数的写法
    {
        Button btn
=(Button)sender;//sender为事件源控件,e为事件源数据。这里用显式转换
        btn.Text ="已点击按钮1";
        Button btn2
=new Button ();
        btn2.Text 
="未点击按钮2";
        btn2.Dock 
=DockStyle.Right ;
        btn2.Click 
+=new EventHandler (btn2Click);
        System.Windows .Forms .Control c
=btn.Parent ;//其中btn.Parent获取btn的父窗体,即已经实例化了的frm窗体
        c.Controls .Add (btn2);//把btn2按钮也加入frm窗体
    }
    
public static void btn2Click(object sender,System.EventArgs e)//代理事件的自定义方法,与btn2.click勾连,同上写法
    {
        Button btn
=(Button)sender;
        btn.Text 
="已点击按钮2";
        Button btn3
=new Button ();
        btn3.Text 
="新建按钮3";
        btn3.Dock 
=DockStyle.Fill ;
        System.Windows .Forms .Control c
=btn.Parent ;
        c.Controls .Add (btn3);
    }
}

运行结果如下:


转载于:https://www.cnblogs.com/gisland/archive/2009/08/17/1548182.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463333.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML学习之基础

HTML是网页的标记语言不是编程语言&#xff0c;有一些标记段组成。大小写不敏感&#xff0c;可以用常用的编辑器软件编写用浏览器打开即可 有不同的版本<!DOCTYPE html> <meta charset"utf-8">在<title>前为了能正常显示中文。 超链接&#xff1a;…

Varint

什么是Varint Varint 是一种紧凑的表示数字的方法。它用一个或多个字节来表示一个数字&#xff0c;值越小的数字使用越少的字节数。这能减少用来表示数字的字节数。 比如对于 int32 类型的数字&#xff0c;一般需要 4 个 byte 来表示。但是采用 Varint&#xff0c;对于很小的 …

Ubuntu 17.10安装Qt 5.10环境与Qt Creator 4.5开发工具(转自linux公社)

记录下在Ubuntu 17.10搭建Qt环境与安装Qt Creator开发工具的过程。机器装的Linux是Ubuntu 17.10&#xff0c;16.04与17.04的应该也相同。Qt 5.10和Qt 3D Studio发布 http://www.linuxidc.com/Linux/2017-12/149267.htm 1&#xff0c;Qt安装 1.1 下载Qt 这里提供Qt Creator的下…

C#基础(201)--常量枚举

本文知识点&#xff1a; 1.掌握常量的定义和使用方法 2.理解枚举的作用和特点 3.掌握枚举的使用方法 1.1.常量的定义语法 const 数据类型 常量名称 值&#xff1b; 1.2.常见错误 1.3常量的使用时机 经常使用并且值不变的变量&#xff0c;可以定义为常量 2.1枚举的作用及其…

unbuntu使用经典界面

为什么80%的码农都做不了架构师&#xff1f;>>> 昨天升级到UBUNTU 11.04, 发现新的Unity界面很不适应&#xff0c;于是将其恢复到旧式经典界面&#xff0c;具体操作模式方法如下&#xff1a; 在已经登录的状态下&#xff0c;选择 [注销]然后在重新登录的时候&#…

c++入门基础知识

命名空间刚开始接触c&#xff0c;我们会发现与C语言相比不光头文件有所不同&#xff0c;还会发现using namespce std&#xff1b;这句话&#xff0c;其实这就是c的命名空间。 (1) 概念命名空间是为了防止名字冲突提供更加可控的机制。命名空间分割了全局命名空间&#xff0c;其…

读书笔记之《得未曾有》

作者 安妮宝贝&#xff0c;2014年笔名改为“庆山” 感想 第一次读庆山的作品&#xff0c;可以书名来总结的一下&#xff0c;得未曾有——获得了一种未曾有过得感受。 一、感受作者 高晓松老师的节目里说过一句话&#xff0c;写作需要长时间的观察人性、需要极强的观察能力。庆山…

linux驱动简单介绍

linux驱动简单介绍 驱动基本介绍 驱动。顾名思义就是“驱使硬件设备行动”。设备驱动与底层硬件之间打交道&#xff0c;按照硬件设备的具体操作方式来读写设备寄存器&#xff0c;最终完成一系列操作。 设备 驱动充当了应用程序和应用软件直接的纽带&#xff0c;它使得应用软件只…

C语言 scanf()和gets()函数的区别

C语言 scanf()和gets()函数的区别 1.相同点&#xff1a;scanf( )函数和gets( )函数都可用于输入字符串 2.不同点&#xff1a;两者在功能上有所区别,具体区别如下&#xff1a; 要实现如下需求“从控制台输入字符串”有如下两种实现方式&#xff1a; 1>使用gets()函数实现使用…

Uoj 441 保卫王国

Uoj 441 保卫王国 动态 \(dp\) .今天才来写这个题.设 \(f[u][0/1]\) 表示子树 \(u\) 中不选/选 \(u\) 时的最小权值和,显然有:\(f[u][0]\sum f[v][1] ,f[u][1]w[u]\sum \min(f[v][0],f[v][1])​\) .现在要资瓷修改 \(x\) 的点权 \(w[x]\) ,容易发现修改后只会影响 \(x\) 到根节…

行存和列存的区别

写入&#xff1a; 行存储的写入是一次完成&#xff0c;数据的完整性因此可以确定。 列存储需要把一行记录拆分成单列保存&#xff0c;写入次数明显比行存储多。 行存储在写入上占有很大的优势 数据修改&#xff1a; 行存储是在指定位置写入一次&#xff0c;列存储是将磁盘定位…

Swift 里集合类型协议的关系

&#xfffc; &#xfffc; Sequence A type that provides sequential, iterated access to its elements. 是最基础的协议&#xff0c;可以通过迭代来获取它的元素。 有两个关联类型&#xff1a; /// A type representing the sequences elements.associatedtype Element//…

ASP.NET 实现登录界面(生成验证码)

这周末也没干啥&#xff0c;真正开始ASP&#xff0c;做了个学籍管理系统的登录界面&#xff0c;登录界面主要包括用户名、密码、验证码&#xff0c;界面字体用了<font size"5" color"blue" font-family:"华文琥珀";></font>改变字体…

多域资源整合之基础准备--DNS配置

由于公司的战略调整,需要整合集团内的资源,当然也也包含IT资源,我们需要评估多家公司的IT架构统一,顺利的合并到总集团的IT架构里,这也就产生一个多域的整合的一个案例,在此分享给大家,希望对大家有所帮助&#xff01;篇幅较长&#xff0c;让我们慢慢细化&#xff01; 在这次的…

博客园“图灵杯”第3届博问大赛比赛结果

经过近一个月的激烈角逐&#xff0c;博客园“图灵杯”第三届博问大赛已圆满结束。获奖园友分别是&#xff1a; 一等奖&#xff1a;邀月&#xff08;奖励图灵图书4本&#xff09; 二等奖&#xff1a;Kinglee、邢少&#xff08;奖励图灵图书2本&#xff09; 三等奖&#xff1a;Gr…

我的LINUX学习之路之二十一之web服务器简单搭建

今天说说如何搭建HTTP服务器&#xff01; 目的&#xff1a; 使用“多IP地址”方法实现多个网站。 使用“主机头名”方法实现多个网站。 使用“多端口”方法实现多个网站。 这回用图形界面来&#xff0c;不用说&#xff0c;先来看安装软件&#xff01; System-Administation-添加…

找出一个数组中唯一一个出现2次的数字

找出一个数组中唯一一个出现2次的数字&#xff0c;不清楚是不是LeetCode上的题。本人默认是LeetCode上的题。 一个数组中有N个数字&#xff0c;但是只有一个数字出现了2次&#xff0c;其他的数字均不相同。这种问题一般应该采用hash方法实现。 让所有的数字都放到一个unorder…

动手写了一个12306插件 chrome浏览器

2019独角兽企业重金招聘Python工程师标准>>> 小生是今年毕业来上海参加工作的一位很普通的java web程序员&#xff0c;后经人介绍转到SAP方向。 以前大学离家相对比较近&#xff0c;都是坐汽车回家的&#xff0c;平常都不是高峰期坐火车&#xff0c;使用12306倒是非…

行列存储方式比较

原文链接&#xff1a;https://blog.csdn.net/vagabond6/article/details/79555282 写入&#xff1a; 行存储的写入是一次完成&#xff0c;数据的完整性因此可以确定。 列存储需要把一行记录拆分成单列保存&#xff0c;写入次数明显比行存储多。 行存储在写入上占有很大的优势 …

python环境问题(pycharm)

一、问题 我们在使用python的时候会遇到环境配置问题。如何可以一劳永逸&#xff0c;是我们解决问题的基本思想。 二、解决1.新建环境&#xff1a; 2.添加环境&#xff1a;选择需要的环境&#xff0c;可以是conda&#xff0c;亦可以是virtual。在将make available to all proje…