当前位置: 首页 > article >正文

C# Window Form 基础

Windows Forms(WinForms)是 .NET 平台中的一种图形用户界面(GUI)框架,用于构建基于桌面应用程序的用户界面。它允许开发人员使用拖放和事件驱动编程模型来快速构建桌面应用程序。以下是关于 Windows Forms 基础的一些介绍,包括其核心组件、事件处理、如何创建一个简单的表单应用程序等。

1.核心概念与组成

a.Form(表单)

•        Form 是 Windows Forms 应用程序的核心组件,表示一个窗口。

•        每个 Form 对象对应一个用户界面的窗口,它包含了其他控件,比如按钮、文本框等。

b.控件(Controls)

控件是用户可以与之交互的元素,如按钮、文本框、标签、复选框等。常见控件包括

•        Button:按钮,用于用户触发某些操作。

•        TextBox:文本框,允许用户输入文本。

•        Label:标签,用于显示静态文本。

•        CheckBoxRadioButton:选择框和单选按钮。

•        ListBox:列表框,显示列表数据。

c.事件驱动编程

•        Windows Forms 使用事件驱动模型,应用程序会等待用户的操作(如点击、键盘输入),并根据操作触发事件。例如,单击按钮会触发 Button.Click 事件,应用程序可以对这些事件进行响应。

2.如何创建一个简单的 Windows Forms 应用程序

a. 创建一个新的 Windows Forms 项目

1.打开 Visual Studio

2.选择 新建项目,然后选择 Windows Forms App (.NET Framework)

3.输入项目名称并选择保存位置,然后点击 创建

b. 编写代码:简单的表单应用程序

using System;
using System.Windows.Forms;

public class MyForm : Form
{
    // 定义控件
    private Button btnClickMe;
    private Label lblMessage;

    public MyForm()
    {
        // 初始化控件
        btnClickMe = new Button();
        lblMessage = new Label();

        // 设置按钮属性
        btnClickMe.Text = "Click Me!";
        btnClickMe.Location = new System.Drawing.Point(100, 50);
        
        // 按钮点击事件
        btnClickMe.Click += new EventHandler(Button_Click);

        // 设置标签属性
        lblMessage.Text = "Hello, Windows Forms!";
        lblMessage.Location = new System.Drawing.Point(100, 100);
        
        // 将控件添加到表单
        this.Controls.Add(btnClickMe);
        this.Controls.Add(lblMessage);

        // 设置表单的其他属性
        this.Text = "My First Form";
        this.Size = new System.Drawing.Size(300, 200);
    }

    // 按钮点击事件处理程序
    private void Button_Click(object sender, EventArgs e)
    {
        lblMessage.Text = "Button clicked!";
    }

    // 主入口
    public static void Main()
    {
        Application.Run(new MyForm());
    }
}

代码解释:

•        MyForm 继承自 Form,表示一个窗口。

•        在构造函数 MyForm() 中,初始化了一个按钮 btnClickMe 和一个标签 lblMessage,并通过 Controls.Add() 方法将它们添加到窗口中。

•        btnClickMe.Click += new EventHandler(Button_Click):为按钮添加了一个点击事件处理程序,当用户点击按钮时会调用 Button_Click 方法。

•        Button_Click() 中,当按钮被点击时,标签的文字会被更新为 "Button clicked!"

•        Application.Run(new MyForm()):启动应用程序并显示窗口。

3.常见的控件与用法

a. Button(按钮)

Button btn = new Button();
btn.Text = "Submit";
btn.Location = new System.Drawing.Point(50, 50);
btn.Click += new EventHandler(Button_Click);
this.Controls.Add(btn);

•        事件处理Click 是按钮的主要事件,触发时执行指定的操作。

b. TextBox(文本框)

TextBox txtInput = new TextBox();
txtInput.Location = new System.Drawing.Point(50, 100);
this.Controls.Add(txtInput);

•        用于获取用户输入的文本,可以通过 txtInput.Text 访问文本内容。

c. Label(标签)

Label lbl = new Label();
lbl.Text = "Enter your name:";
lbl.Location = new System.Drawing.Point(50, 80);
this.Controls.Add(lbl);

•        用于显示静态文本,不可交互。

d. CheckBox(复选框)

CheckBox chkOption = new CheckBox();
chkOption.Text = "Accept terms";
chkOption.Location = new System.Drawing.Point(50, 120);
this.Controls.Add(chkOption);

•        用户可以选择或取消选择,使用 chkOption.Checked 判断是否被选中。

e. ListBox(列表框)

ListBox lstItems = new ListBox();
lstItems.Location = new System.Drawing.Point(50, 150);
lstItems.Items.Add("Item 1");
lstItems.Items.Add("Item 2");
lstItems.Items.Add("Item 3");
this.Controls.Add(lstItems);

•        列表框用于显示一系列项目,用户可以从中选择一项或多项。

4.事件驱动编程与处理事件

Windows Forms 应用程序是事件驱动的,这意味着应用程序等待并响应用户的操作,例如单击、输入、选择等。

a. 事件处理程序

事件处理程序是处理用户操作的方法,例如当用户点击按钮时,执行某个方法。

private void Button_Click(object sender, EventArgs e)
{
    // 当按钮被点击时执行的操作
    MessageBox.Show("Button was clicked!");
}

•        事件声明btn.Click += new EventHandler(Button_Click),为按钮的 Click 事件分配处理程序 Button_Click

•        事件参数:事件处理程序通常带有两个参数:sender 表示触发事件的控件,e 是事件相关的数据。

5.MessageBox(消息框)

MessageBox 是 Windows Forms 中常用的控件,用于显示消息提示。

MessageBox.Show("This is a message!", "Message Box Title", MessageBoxButtons.OK, MessageBoxIcon.Information);

•        MessageBox.Show 方法用于弹出一个消息框,显示自定义的文本和标题。

•        MessageBoxButtons 可以指定按钮类型,如 OKYesNo 等。

•        MessageBoxIcon 可以指定图标类型,如 InformationWarningError。

6.布局与窗口属性

a. 窗口大小与标题

通过以下代码可以设置表单窗口的大小和标题:

this.Text = "My Application";  // 设置窗口标题
this.Size = new System.Drawing.Size(400, 300);  // 设置窗口大小

b. 布局管理

Windows Forms 提供了多种控件布局管理器,例如 FlowLayoutPanelTableLayoutPanel,可以让控件自动按照一定规则排列,而不需要手动指定位置

FlowLayoutPanel panel = new FlowLayoutPanel();
panel.Dock = DockStyle.Fill;
panel.Controls.Add(btnClickMe);
panel.Controls.Add(lblMessage);
this.Controls.Add(panel);

7.Windows Forms 的启动与关闭

a. 启动应用程序

每个 Windows Forms 应用程序都有一个主入口点,一般是在 Main 方法中调用 Application.Run 来启动应用程序。

[STAThread]
public static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new MyForm());
}

b. 关闭窗口

可以使用 this.Close() 关闭当前窗口:

this.Close();  // 关闭当前窗口

总结

•        Windows Forms 是一个创建桌面应用程序的快速方法,提供了丰富的控件和事件驱动的编程模型。

•        你可以使用 Form 类来表示窗口,添加各种控件如按钮、文本框、列表框等,并为这些控件添加事件处理程序。

•        MessageBox 可以用来显示简单的消息对话框,提示用户。

•        Application.Run() 是启动 Windows Forms 应用程序的主入口,负责运行主窗口。


http://www.kler.cn/news/365821.html

相关文章:

  • 听见文本的魅力:AI 与未来的语音交互
  • Qt元对象系统分析小记
  • 如何用 obdiag 排查 OceanBase数据库的卡合并问题——《OceanBase诊断系列》14
  • vue-vant框架引入
  • uniapp 常用的地区行业各种多选多选,支持回显,复制粘贴可使用
  • Python实现非线性数据结构-字典、集合、树、图
  • 初探Vue前端框架
  • 【等保测评】安全物理环境
  • 腾讯云DBA面试(一面)
  • 大语言模型训练方式探索(基于llma3模型)
  • ThinkPhp配置中间件解决跨域问题
  • C#WPF的XAML的语法详谈和特性
  • 【C/C++ Qt shared_ptr | make_shared | QSharedPointer 】绕圈圈
  • [Redis] Redis数据持久化
  • [项目详解][boost搜索引擎#2] 建立index | 安装分词工具cppjieba | 实现倒排索引
  • Element 的Table表格实现列合并(记得先排序、element-plus、列合并、线上已投入使用)
  • 同标签实现监听LocalStorage
  • python的文件常识
  • CTF-RE 从0到N:开始之前-c函数手册
  • 什么样的JSON编辑器才好用
  • TDengine 签约新奥新智:写入速度提升10倍,成本降低90%
  • 软件设计师----UML
  • JavaWeb合集16-JWT令牌验证
  • Coppelia Sim (v-REP)仿真 机器人3D相机手眼标定与实时视觉追踪 (一)
  • 【Sublime Text】设置中文 最新最详细
  • 【Android】Convenient ADB Commands