Winform

简介: 【8月更文挑战第1天】

Winform,全称为Windows Forms,是.NET Framework中的一个用于构建Windows桌面应用程序的类库。它提供了一系列图形界面组件(称为控件),允许开发者创建具有丰富用户界面的应用程序。

Winform :

  • Winform是微软提供的一个UI框架。
  • 它允许开发者在.NET环境中设计和实现Windows桌面应用程序。
  • 提供了丰富的控件,如按钮、文本框、标签等。

用Winform:

  1. 安装.NET Framework:确保你的开发环境中安装了.NET Framework。
  2. 创建项目:在Visual Studio中创建一个新的Windows Forms 应用程序项目。
  3. 设计界面:使用工具箱中的控件拖放到表单上,设计你的用户界面。
  4. 编写逻辑:为控件添加事件处理程序,并编写相应的业务逻辑。
  5. 编译和运行:编译项目并运行,测试你的应用程序。

代码示例:

以下是一个简单的Winform应用程序示例,它创建了一个包含标签、文本框、按钮和列表框的窗口,并在按钮点击时将文本框的内容添加到列表框中。

using System;
using System.Windows.Forms;

namespace SimpleWinFormsApp
{
   
    public partial class MainForm : Form
    {
   
        public MainForm()
        {
   
            InitializeComponent();
        }

        private void addButton_Click(object sender, EventArgs e)
        {
   
            // 检查文本框是否为空
            if (!string.IsNullOrEmpty(inputTextBox.Text))
            {
   
                // 将文本框的内容添加到列表框中
                listBox.Items.Add(inputTextBox.Text);
                // 清空文本框
                inputTextBox.Clear();
            }
            else
            {
   
                MessageBox.Show("请输入文本");
            }
        }
    }
}

对应的设计代码(通常由Visual Studio的设计器生成)可能如下:

// 这个类是一个分部类(partial class),与设计器生成的代码一起使用
namespace SimpleWinFormsApp
{
   
    partial class MainForm
    {
   
        private System.ComponentModel.IContainer components = null;

        protected override void Dispose(bool disposing)
        {
   
            if (disposing && (components != null))
            {
   
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        private void InitializeComponent()
        {
   
            // 组件初始化代码,由设计器生成
            this.inputTextBox = new TextBox();
            this.addButton = new Button();
            this.listBox = new ListBox();

            this.SuspendLayout();
            // 
            // inputTextBox
            // 
            this.inputTextBox.Location = new System.Drawing.Point(12, 12);
            this.inputTextBox.Name = "inputTextBox";
            this.inputTextBox.Size = new System.Drawing.Size(100, 20);
            // 
            // addButton
            // 
            this.addButton.Location = new System.Drawing.Point(118, 10);
            this.addButton.Name = "addButton";
            this.addButton.Size = new System.Drawing.Size(75, 23);
            this.addButton.Text = "Add";
            this.addButton.UseVisualStyleBackColor = true;
            this.addButton.Click += new EventHandler(this.addButton_Click);
            // 
            // listBox
            // 
            this.listBox.FormattingEnabled = true;
            this.listBox.Location = new System.Drawing.Point(12, 38);
            this.listBox.Name = "listBox";
            this.listBox.Size = new System.Drawing.Size(260, 134);
            // 
            // MainForm
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(284, 184);
            this.Controls.Add(this.listBox);
            this.Controls.Add(this.addButton);
            this.Controls.Add(this.inputTextBox);
            this.Name = "MainForm";
            this.Text = "Simple WinForms App";
            this.ResumeLayout(false);
            this.PerformLayout();
        }

        private TextBox inputTextBox;
        private Button addButton;
        private ListBox listBox;
    }
}
目录
相关文章
|
设计模式 前端开发 C#
WPF/C#:理解与实现WPF中的MVVM模式
WPF/C#:理解与实现WPF中的MVVM模式
1336 0
|
自然语言处理 IDE JavaScript
Fitten Code
【8月更文挑战第30天】
707 4
|
开发框架 前端开发 JavaScript
在Winform界面使用自定义用户控件及TabelPanel和StackPanel布局控件
在Winform界面使用自定义用户控件及TabelPanel和StackPanel布局控件
|
Linux iOS开发 开发者
跨平台开发不再难:.NET Core如何让你的应用在Windows、Linux、macOS上自如游走?
【8月更文挑战第28天】本文提供了一份详尽的.NET跨平台开发指南,涵盖.NET Core简介、环境配置、项目结构、代码编写、依赖管理、构建与测试、部署及容器化等多个方面,帮助开发者掌握关键技术与最佳实践,充分利用.NET Core实现高效、便捷的跨平台应用开发与部署。
1491 3
|
C# UED 开发者
WPF与性能优化:掌握这些核心技巧,让你的应用从卡顿到丝滑,彻底告别延迟,实现响应速度质的飞跃——从布局到动画全面剖析与实例演示
【8月更文挑战第31天】本文通过对比优化前后的方法,详细探讨了提升WPF应用响应速度的策略。文章首先分析了常见的性能瓶颈,如复杂的XAML布局、耗时的事件处理、不当的数据绑定及繁重的动画效果。接着,通过具体示例展示了如何简化XAML结构、使用后台线程处理事件、调整数据绑定设置以及利用DirectX优化动画,从而有效提升应用性能。通过这些优化措施,WPF应用将更加流畅,用户体验也将得到显著改善。
1415 1
|
存储 运维 Kubernetes
在k8S中,生产环境的pv回收策略该如何选择?
在k8S中,生产环境的pv回收策略该如何选择?
|
存储 弹性计算 固态存储
阿里云服务器租用费用1t空间多少钱?全面解析
阿里云服务器租用费用1t空间多少钱?1T空间如果是系统盘SSD云盘价格是3686元一年、ESSD云盘1t空间是5222元一年,ESSD Entry云盘1024G存储空间价格是2580元一年。阿里云百科整理几款不同的云盘1t空间价格
|
C++
C++如何进行sort的使用——C++如何进行排序
C++如何进行sort的使用——C++如何进行排序
524 0
|
前端开发 JavaScript 网络安全
前端破圈Docker for Win11项目不能访问🏴‍☠️
前端破圈Docker for Win11项目不能访问🏴‍☠️
580 0
|
Linux C语言 固态存储
Linux创建、删除文件和文件夹等操作命令
今天学习了几个命令,是创建、删除文件和文件夹的,在linux里,文件夹是目录,下面说下我学习的命令。 创建文件夹【mkdir】   一、mkdir命令使用权限     所有用户都可以在终端使用 mkdir 命令在拥有权限的文件夹创建文件夹或目录。     二、mkdir命令使用格式     格式:mkdir [选项] DirName     三、mkdir命令功能    
36448 1