初识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();
}
相关推荐
SunnyDays10111 小时前
如何使用 C# 将 CSV 数据轻松转换为 PDF
c#·csv转pdf
Big_潘大师1 小时前
C# 六自由度机械臂正反解计算
数学建模·机器人·c#·六自由度机械臂
我不是程序猿儿1 小时前
【C#】XtraMessageBox(DevExpress)与MessageBox(WinForms 标准库)的区别
开发语言·c#
偶尔的鼠标人2 小时前
Avalonia/WPF 打开子窗口,并且跨页面传值
c#·wpf·mvvm·avalonia
玖笙&2 小时前
✨WPF编程进阶【6.1】:图形原则(附源码)
c++·c#·wpf·visual studio
huoshan123452 小时前
给旧版 .NET 也开一扇“私有之门”——ILAccess.Fody 实现原理与设计
c#·.net·fody·il·mono.cecil
纸照片3 小时前
WPF中为Button设置IsMouseOver和IsPressed事件中改变背景颜色不起作用
c#·.net·wpf
关关长语4 小时前
Dotnet使用System.Xml.Serialization处理Xml序列化
xml·c#·.net
歪歪1006 小时前
在C#中除了按属性排序,集合可视化器还有哪些辅助筛选的方法?
开发语言·前端·ide·c#·visual studio
weixin_307779137 小时前
C#程序实现将Teradata的存储过程转换为Snowflake的sql的存储过程
数据库·数据仓库·c#·云计算·迁移学习