视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
C#如何在 Windows 窗体应用程序中使用事件
2024-12-01 12:54:20 责编:小OO
文档


在Windows窗体应用程序中使用事件可以增强用户交互性。例如,当用户点击Button控件时,该控件会触发一个事件,应用程序可以针对这一按钮点击操作执行相应的逻辑。

首先,您需要在窗体中添加一个Button控件。通过定义一个事件处理程序与Click事件委托签名相匹配,您可以处理这一事件。这里使用的事件处理程序方法签名应为void Button_Click(object sender, EventArgs e) {...}。接着,将事件处理程序方法添加到Button的Click事件中。这可以通过执行button.Click += new EventHandler(this.Button_Click)来实现。

值得注意的是,设计工具如Visual Studio 2005可以自动生成类似上述代码的事件连接代码。下面的代码示例展示了如何处理Button的Click事件以改变TextBox的背景色。在粗体标记的元素中,可以看到事件处理程序以及它如何与Button的Click事件相连。

此示例仅包含基本编程元素,未使用可视化设计器。若使用设计器,它将生成附加代码。以下是完整的示例代码:
using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;

public class 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.
private void 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]
public static void Main(string[] args)
{
Application.Run(new MyForm());
}
}

完成上述步骤后,编译并执行代码。将上述代码保存到一个文件中(对于C#文件,扩展名为.cs,对于Visual Basic 2005,扩展名为.vb),然后进行编译和执行。例如,如果源文件名为WinEvents.cs(或WinEvents.vb),请执行如下命令:

下载本文
显示全文
专题