【学习笔记3 VB.NET/界面美化/控件/命名规则/winform窗体代码逻辑/构造函数Form和load事件】

一、VB.NET

是一种面向对象的编程语言,主要用于企业级应用程序开发、Web应用程序开发、桌面应用程序开发等各种领域的开发

1、.NET

.NET 分成两个方面:WinFormWebForm

  • ASP.NET属于WebForm,B/S模式开发。Asp.NET可以用C#或VB.NET来开发,编译后形成CLR,通过服务器的IIS+.NET FrameWork再次编译来运行
  • WinForm属于C/S模式

2、CLR的结构:

  • CLS:公共语言规范,获取各种语言转换成统一的语法规范。
  • CTS:通用类型系统,将各种语言中的数据类型转换成统一的类型
  • JIT:实时编译器(即时编译器)用于将转换之后的语言编译为二进制语言,交给CPU执行。

作用:(相当于java虚拟机,内存管理,垃圾清理)

3、对比.NET和java

.NET运行的机制流程
各种语言(c#,F#,j#等对应的源程序)——>经过CLS,CTS第一次编译——>统一规范语言(中间语言)MSIL(.EXE,.DLL)——>JIT第二次编译——>二进制语言——>运行在CPU中
java的运行机制:
java——>编译——>字节码文件(.CLASS)——>jvm解释(jvm虚拟机)——>二进制语言——>运行在CPU中

4、VB.NET程序结构

-命名空间声明
-一个类或模块
-一个或多个程序
-主程序主入口

Imports System `命名空间声明
Module Module1 `一个类或模块 
     `This program will display Hello World `注释
     Sub Main() `Main过程,它是所有VB.Net程序的入口点
        Console.WriteLine("Hello World")
        Console.ReadKey()
     End Sub
End Module

5、VB.net面向对象语言语法区别点

  • 末尾不用加;
  • 变量、函数、对象的定义使用As关键字 例:private name As String
  • 不使用{}结尾用End关键字
  • if条件句使用 if 条件句 Then 执行句 Else 另执行句 End if
  • Dim语句用于一个或多个变量的变量声明和存储分配。 Dim语句用于模块,类,结构,过程或块级别
  • sub 相当于void
  • !变成 not ,!= 变成 <>
  • 多了属性(与前端getter和setter相似)

6、变量定义格式

    Array     arr
    Button    btn
    CheckBox  chk
    Label     lb1
    ListBoxe  lst
    Object    obj
    RadioButton rdb
    TextBox   txt
    XML       xml

7、API总结

  • 控制台程序:Console.ReadLine() 、Console.WriteLine
  • Web.config 可以看做spring中的spring的配置xml
  • SOAP交换消息,一条 SOAP 消息就是一个普通的 XML 文档,封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架
  • WSDL服务描述,是一种 XML 文档,描述SOAP协议的具体语言,用WSDL实现SOAP协议
  • WSFL将分散的、功能单一的Web服务组织成一个复杂的有机应用 服务者绑定调用也可以称发送消息给服务提供者

二、界面美化

  • 页面布局:布局合理、对齐整齐,容器控件Panel、GroupBox组织和分隔控件,使界面看起来更清晰和有序
  • 使用第三方或自定义的控件来替换默认的控件,使窗体的界面更加美观:开源的控件库如 MetroFramework、DevExpress WinForms
  • 添加背景图片增加窗体的视觉效果
  • 引用.DLL使用皮肤库:使用皮肤库为窗体和控件应用不同的皮肤样式,实现界面的美化:在文件引用.DLL相关皮肤文件并在代码中加载
  • GDI+自定义绘制:重写窗体或控件的绘制方法,实现自定义的界面样式和效果

三、winform窗体常用控件的属性、方法

常用控件的事件、方法和属性:
Lable、Button、ComboBox、ListView、DataGridView、RichTextBox

----Label (标签)
属性:
Text:设置或返回标签控件中显示的文本信息
AutoSize:用来获取或设置一个值,该值指示是否自动调整控件的大小以完整显示其内容。取值为 true时,控件将自动调整到刚好能容纳文本时的大小,取值为false时,控件的大小为设计时的大小。默认值为false。
Anchor:可以设定 Top、Bottom、Right、Left 。子控件与父控件的位置关系

----Button(按钮)
属性:
Text: 按钮上显示的文本
Enabled: 指示按钮是否可用
事件:
Click: 当按钮被点击时触发的事件
MouseHover, MouseLeave: 鼠标悬停和离开时触发的事件

----ComboBox(下拉框)
属性:
Items: 下拉框中的选项列表
DropDownStyle: 下拉框的样式,如DropDown、DropDownList等
SelectedIndex, SelectedItem: 当前选中项的索引和值
事件:
SelectedIndexChanged: 选中项改变时触发的事件
DropDown: 下拉框展开时触发的事件

----ListView(列表视图)
属性:
Items: 列表项的集合、Columns: 列头的集合,用于定义列表的列
View: 列表的显示模式,如Details、LargeIcon等
方法:
Add(), Remove(), Clear(): 添加、移除和清空列表项
Sort(): 对列表项进行排序
ItemSelectionChanged: 选择项改变时触发的事件
ColumnClick: 点击列头时触发的事件
事件:ItemSelectionChanged: 选择项改变时触发的事件
ColumnClick: 点击列头时触发的事件

----DataGridView(数据网格视图)
属性:
DataSource: 数据源,绑定到DataGridView显示数据
Columns: 列定义,可以手动添加、删除和编辑列
Rows: 行集合,可以手动添加、删除和编辑行
方法:
Refresh(): 刷新DataGridView显示的数据
Update(): 更新数据源中的数据到DataGridView
事件:
CellClick, CellDoubleClick: 单元格点击和双击时触发的事件
CellValidating, CellValidated: 单元格验证前后触发的事件

----RichTextBox(可以输入文本、 又可以编辑文本的文字处理控件)
属性:
Rtf:获取或设置RichTextBox控件中的文本,包括所有RTF格式代码。通常用于在RichTextBox控件和其他RTF源之间交换信息
方法:
Redo:重做上次被撤销的操作。例:RichTextBox对象.Redo() 该方法无参数
Find:从RichTextBox控件中查找指定的字符串。例:RichTextBox对象.Find(str)
SaveFile:用来把RichTextBox中的信息保存到指定的文件中。例: RichTextBox对象名.SaveFile(文件名);

四、变量、属性、方法、事件、控件Name的命名

1、变量命名规则:

  • 小驼峰命名法,即首字母小写,后续每个单词的首字母大写,如 userName、startDate
  • 变量名应该尽可能描述其用途,避免使用过于简单或者不具备实际含义的名称

2、属性命名规则:

  • 帕斯卡命名法,每个单词的首字母都大写,如FirstName,LastName,Address
  • 属性名称应该准确描述其所代表的数据或状态
  • 属性和对应的私有字段(如果有的话)应该有清晰的命名区分,通常私有字段可以在前面加上下划线 _,如_userName

3、方法命名规则:

  • 帕斯卡命名法,同理属性命名规则,如CalculateTotal, SaveData, LoadCustomer
  • 方法名通常应该使用动词或动词短语来描述其操作,以便于理解方法的功能
  • 方法名应该尽量避免与类中其他成员(如属性)的名称冲突

4、事件命名规则:

  • 事件名应该描述发生的动作,通常以动词开头,如 ButtonClick, TextChanged, ItemSelected
  • 事件名称应该清晰地表达其所关联的控件和用户动作
  • 可以考虑添加一致的后缀来表示事件类型,例如使用 EventHandler 后缀,如 ButtonClickEventHandler,TextChangedEventHandler

5、控件标签Name命名规范:

Label标签为lbl,TextBox为txt,Button为btn。lblName,btnLogin,txtPwd

五、winform窗体代码逻辑

Form可以看成一个大容器.里面可以放各种控件.

1、文件结构:

Properties : 设置项目属性
引用: 指的是它所依赖的一些系统库,可以设置对其他项目命名空间的引用
App.config: 当前应用的配置文件,可以设置数据库的配置信息
Form1.cs: 业务代码,设置窗体界面以及编写逻辑代码
Form1.designer.cs: 界面代码,自动生成,一般不需要进行修改 源码文件
Form1.resx: 资源文件,用于资源导入,通过该文件导入资源,无需引用外部文件
program.cs: main()方法的入口,设置项目运行时的主窗体

2、InitializeComponent()方法:

  • 作用: 完成Form的初始化,Form的样式、布局,以及Form上面的控件如button、textbox等的创建
  • form.designer.cs 定义 InitializeComponent()方法,
  • Form.cs 调用 InitializeComponent()方法
  • InitializeComponent:初始化窗体及窗体上的控件,加载并分配资源,注册相关事件。
  • 注意事项: 在初始化的方法前边,不可以写任何代码!

3、Form1.cs 和Form1.cs

  • Form1.cs 由Form1.cs[设计]界面与Form1.cs[逻辑代码]/Form1.Designer.cs两部分构成
  • public partial class Form1 : Form中的partial class 实现类的拆分,部分类的好处是能够让自动生成的代码后置
  • Form1.cs(放业务的逻辑)
  • Form1.designer.cs(自动生成的)

4、program.cs主程序入口代码逻辑

    [STAThread]//COM线程模型--单线程单元,如果没有它,是无法工作的
    Application.EnableVisualStyles();在应用程序中创建任何控件之前调用它
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());
    Application用于启动和停止应用程序、处理 Windows 消息的方法和获取应用程序信息的属性。 此类不能被继承

5、object sender,EventArgs e

  • object sender: 事件的发送者,即触发事件的对象。在事件被触发时,这个参数通常是引发事件的对象本身。例如,如果点击了一个按钮,按钮就是发送者。按钮事件本身
  • EventArgs e: 事件数据对象,它包含有关事件的额外信息参数。EventArgs 是一个基类,通常被用作事件处理器的第二个参数,它本身可能是一个空类,或者包含一些事件相关的数据,具体取决于具体事件的定义。代表点击事件

所有的控件都直接或间接继承自Control类,Control类中提供了许多属性,这些属性都是控件的共同特征

6、代码逻辑梳理-举例按钮控件

Form 类的基本结构,它定义了窗体的基本行为和事件处理机制

public partial class MyForm : Form
{
public MyForm()
{
        InitializeComponent(); // 初始化窗体组件
}
private void InitializeComponent()//form.designer.cs中定义的InitializeComponent方法
{
        // 自动生成的代码,用于初始化窗体的组件
        this.button1 = new System.Windows.Forms.Button();
        this.SuspendLayout();
        // 设置按钮属性
        this.button1.Location = new System.Drawing.Point(100, 100);
        this.button1.Name = "button1";
        this.button1.Size = new System.Drawing.Size(100, 50);
        this.button1.Text = "Click me";
        this.button1.Click += new System.EventHandler(this.button1_Click);
        // 将按钮添加到窗体
        this.Controls.Add(this.button1);
        this.ResumeLayout(false);
}
private void button1_Click(object sender, EventArgs e)
{
        MessageBox.Show("Button clicked!");
}
protected override void Dispose(bool disposing)
{
        if (disposing && (components != null))
        {
        components.Dispose(); // 释放组件资源
        }
        base.Dispose(disposing);
}
private System.Windows.Forms.Button button1;
}

Application 类是整个应用程序的入口点,负责启动应用程序和管理应用程序的全局状态,提供 static 方法和属性以管理应用程序
Application.Run(new MyForm()); // 运行窗体

初始化阶段:
Application.Run(new MyForm()); 创建并运行 MyForm 窗体
InitializeComponent() 方法被调用,自动生成并初始化窗体上的控件,包括 button1 按钮
按钮点击事件
Dispose方法:
窗体关闭时,代码调用 Dispose() 方法时,Dispose 方法会释放窗体使用的资源,包括 components(包含窗体的所有控件)

六、构造函数Form和load事件

.net的面向对象就把每一个控件都作为类来处理,因此面向对象的角度来说。
先调用构造函数Form后执行load(作为一事件来处理的)
双击事件中的Load右边的空白处,可在当前Form的窗体代码中看到出现了下面代码段,在里面添加窗体载入时的事件即可。
Load事件:Load事件在窗体加载完成后触发,可以在该事件中进行一些初始化操作,例如设置控件的属性、加载数据等

Shown事件:Shown事件在窗体显示之前触发,可以在该事件中执行一些需要在窗体显示之前完成的操作,例如显示欢迎信息、弹出提示框等

七、其他

MessageBox.show()弹出一个消息框。所以一般测试是用这个方法。因为程序运行的时候,控制台是不起作用的

  • 15
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值