初识Winform

什么是winform?

WinForms(Windows Forms)是Microsoft .NET框架中的一个用户界面(UI)技术,用于创建Windows应用程序。它提供了一组用于构建图形用户界面的类和控件,以及与用户交互的事件模型。

WinForms基于传统的窗体(Form)和控件(Control)的概念。你可以创建一个窗体作为应用程序的主窗口,并在窗体上放置各种控件(如按钮、文本框、标签等),以构建交互式的用户界面。

通过事件处理机制,你可以对控件的事件(如点击按钮事件、文本框输入事件等)进行响应,实现特定的功能或逻辑。WinForms提供了丰富的控件库,包括基本的UI控件(如按钮、文本框、标签、列表框等),以及高级控件(如网格视图、树视图、菜单、工具栏等),可以满足大多数应用程序的需求。

创建一个窗体应用

拖一个Label控件

csharp 复制代码
//Text 设置控件的文本
this.Label1.Text = "学习winform的第一天";

常用属性

  • Text:用于设置或获取Label中显示的文本内容。
  • ForeColor:用于设置或获取Label文本的颜色。
  • BackColor:用于设置或获取Label的背景色。
  • Font:用于设置或获取Label中文本的字体。
  • AutoSize:用于设置或获取Label是否根据内容自动调整大小。
  • BorderStyle:用于设置或获取Label的边框样式。
  • Image:用于设置或获取在Label上显示的图像。
  • ImageAlign:用于设置或获取图像在Label中的对齐方式。
  • TextAlign:用于设置或获取Label中文本的对齐方式。
  • AutoSize:用于设置或获取Label是否根据内容自动调整大小。
  • Enabled:用于设置或获取Label是否启用,即是否响应用户交互。
  • Visible:用于设置或获取Label是否可见。
  • ToolTipText:用于设置或获取当鼠标悬停在Label上时显示的工具提示文本。

拖一个Button控件

该控件是一个按钮控件 双击该控件可以给按钮绑定点击事件或者点击(上图所示的事件)

csharp 复制代码
//object sender:代表此次调用方法的控件对象
//EventArgs e:代表事件对象
private void button1_Click(object sender, EventArgs e) {
  Button btn = (Button)sender;
  //MessageBox 消息提示框
  MessageBox.Show("按钮点击了。" + btn.Name);
}

跳转到另一个窗体

显示窗体

csharp 复制代码
//首先右击该项目,点击添加,新建一个窗体(这里新窗体名字叫做test)
private void button2_Click(object sender, EventArgs e) {
  //跳转到另一个窗体
  Test test = new Test(); //实例化该窗体
  test.Show(); //显示窗体
}

隐藏当前窗体

csharp 复制代码
private void button3_Click(object sender, EventArgs e) {
  //隐藏当前窗体
  this.Hide();
}
相关推荐
FL16238631292 小时前
[C#][winform]segment-anything分割万物部署onnx模型一键抠图演示
开发语言·c#
love530love4 小时前
OpenClaw 手机直连配置全流程
人工智能·windows·python·智能手机·c#·agent·openclaw
bcbobo21cn5 小时前
C# byte类型和byte数组的使用
开发语言·c#·字节数组·byte类型
月巴月巴白勺合鸟月半7 小时前
一次PDF文件的处理(一)
pdf·c#
大鹏说大话8 小时前
Java 锁膨胀机制深度解析:从偏向锁到重量级锁的进化之路
开发语言·c#
武藤一雄10 小时前
WPF处理耗时操作的7种方法
microsoft·c#·.net·wpf
武藤一雄11 小时前
C#常见面试题100问 (第一弹)
windows·microsoft·面试·c#·.net·.netcore
l1t12 小时前
DeepSeek总结的用 C# 构建 DuckDB 插件说明
前端·数据库·c#·插件·duckdb
iReachers13 小时前
恒盾C#混淆加密大师 1.4.5 最新2026版本发布 (附CSDN下载地址)
c#·c#混淆·c#加密·wpf加密·winform加密
历程里程碑14 小时前
43. TCP -2实现英文查中文功能
java·linux·开发语言·c++·udp·c#·排序算法