C#如何在 Windows 窗体应用程序中使用事件

 我来答
51792紫毁
2013-08-26 · TA获得超过143个赞
知道答主
回答量:136
采纳率:85%
帮助的人:72.8万
展开全部
Windows 窗体应用程序中的一种常见情况是显示带控件的窗体,然后根据用户单击的控件执行特定操作。例如,当用户在窗体中单击 Button 控件时,该控件会引发一个事件。通过处理该事件,应用程序可以针对该按钮单击操作执行适当的应用程序逻辑。有关Windows 窗体的更多信息,请参见 Windows 窗体入门。处理Windows 窗体上的按钮单击事件1.创建一个具有 Button 控件的 Windows 窗体。private Button button; 2.定义一个与 Click 事件委托签名匹配的事件处理程序。Click 事件为该委托类型使用 EventHandler 类,而为该事件数据使用 EventArgs 类。 void Button_Click(object sender, EventArgs e) {...} 3.将事件处理程序方法添加到 Button 的Click 事件。 button.Click +=new EventHandler(this.Button_Click);注意设计器(如 Visual Studio 2005)将通过生成与下面的示例中的代码类似的代码来为您执行此事件连接。示例下面的代码示例处理 Button 的Click 事件以改变 TextBox 的背景色。以粗体表示的元素显示了该事件处理程序以及它如何连结到 Button 的Click 事件。此示例中的代码不是使用可视设计器(例如 Visual Studio 2005)编写的,并且只包含基本的编程元素。如果您使用设计器,它将生成附加代码。using System; using System.ComponentModel; using System.Windows.Forms; using System.Drawing; publicclass MyForm : Form{private TextBox box; private Button button; public MyForm() : base(){box =new TextBox(); box.BackColor = System.Drawing.Color.Cyan; box.Size =new Size(100,100); box.Location =new Point(50,50); box.Text ="Hello"; button =new Button(); button.Location =new Point(50,100); button.Text ="Click Me"; // To wire the event, create // a delegate instance and add it to the Click event. button.Click +=new EventHandler(this.Button_Click); Controls.Add(box); Controls.Add(button);}// The event handler.privatevoid Button_Click(object sender, EventArgs e){box.BackColor = System.Drawing.Color.Green;}// The STAThreadAttribute indicates that Windows Forms uses the // single-threaded apartment model. [STAThreadAttribute] publicstaticvoid Main(string[] args){Application.Run(new MyForm());}}编译代码将上面的代码保存到一个文件(对于 C# 文件,扩展名为 .cs,对于 Visual Basic 2005,扩展名为 .vb)中,进行编译,然后执行。例如,如果源文件名为 WinEvents.cs(或 WinEvents.vb),请执行下面的命令。 您的可执行文件将被命名为 WinEvents.exe。
郭某人来此
2015-09-30 · TA获得超过1646个赞
知道答主
回答量:952
采纳率:100%
帮助的人:90.3万
展开全部
例如,当用户在窗体中单击 Button 控件时,该控件会引发一个事件。通过处理该事件,应用程序可以针对该按钮单击操作执行适当的应用程序逻辑。有关Windows 窗体的更多信息,请参见 Windows 窗体入门。处理Windows 窗体上的按钮单击事件1.创建一个具有 Button 控件的 Windows 窗体。private Button button; 2.定义一个与 Click 事件委托签名匹配的事件处理程序。Click 事件为该委托类型使用 EventHandler 类,而为该事件数据使用 EventArgs 类。 void Button_Click(object sender, EventArgs e)
{...} 3.将事件处理程序方法添加到 Button 的Click 事件。 button.Click +=new EventHandler(this.Button_Click);注意设计器(如 Visual Studio 2005)将通过生成与下面的示例中的代码类似的代码来为您执行此事件连接。示例下面的代码示例处理 Button 的Click 事件以改变 TextBox 的背景色。以粗体表示的元素显示了该事件处理程序以及它如何连结到 Button 的Click 事件。此示例中的代码不是使用可视设计器(例如 Visual Studio 2005)编写的,并且只包含基本的编程元素。如果您使用设计器,它将生成附加代码。using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;
publicclass MyForm : Form{private TextBox box;
private Button button;
public MyForm() : base(){box =new TextBox();
box.BackColor = System.Drawing.Color.Cyan;
box.Size =new Size(100,100);
box.Location =new Point(50,50);
box.Text ="Hello";
button =new Button();
button.Location =new Point(50,100);
button.Text ="Click Me";
// To wire the event, create
// a delegate instance and add it to the Click event. button.Click +=new EventHandler(this.Button_Click);
Controls.Add(box);
Controls.Add(button);}// The event handler.privatevoid Button_Click(object sender, EventArgs e){box.BackColor = System.Drawing.Color.Green;}// The STAThreadAttribute indicates that Windows Forms uses the
// single-threaded apartment model. [STAThreadAttribute]
publicstaticvoid Main(string[] args){Application.Run(new MyForm());}}编译代码将上面的代码保存到一个文件(对于 C# 文件,扩展名为 .cs,对于 Visual Basic 2005,扩展名为 .vb)中,进行编译,然后执行。例如,如果源文件名为 WinEvents.cs(或 WinEvents.vb),请执行下面的命令。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式