VB.Net编程:面向对象的类、对象与事件处理

需积分: 0 1 下载量 3 浏览量 更新于2024-07-13 收藏 340KB PPT 举报
本章节深入探讨了VB.NET中的对象事件过程及其编程。首先,对象在VB.NET中扮演着核心角色,它是类的实例,具有特定的属性(如名称、文本和尺寸)和行为(方法)。对象的实例化是通过创建控件类的实例,如工具箱中的TextBox控件,其在窗体上显示时实际上是TextBox类的一个实例。 对象事件过程是程序逻辑的关键部分,它描述了对象在特定情况下如何响应用户的操作或系统的变化。以按钮Button2为例,其Click事件被定义为一个子过程(Sub Button2_Click),当用户点击该按钮时,会执行其中的代码。`Val()`函数在这里用于将文本框中的数字字符转换为数值类型,以便进行计算。 事件驱动编程是VB.NET的基础,程序通过感知并响应用户的交互或系统状态变化来执行相应的逻辑。例如,用户点击事件(如Button2_Click)触发了对TextBox1的文本更新操作,这是通过事件处理机制实现的。 属性是对象的核心,它们存储了对象的状态信息,决定了对象的外观和功能。可以通过设计阶段在属性窗口直接设置属性值,也可以在代码中动态地改变属性。方法则是对象的行为,是完成特定任务的程序代码。 VB.NET的集成开发环境(IDE)提供了工程(Project)、窗体(Form)、程序模块(Module)和控件(Control)等多种工具,帮助开发者组织和管理项目。窗体是应用程序的主界面,控件则是界面元素,如TextBox、Button等,它们都是类的具体实例。 8.1节详细介绍了对象和类的概念,指出类是对象的蓝图,包含了对象的通用特性和行为。通过类,开发者可以创建多个具有相似属性和方法的实例,从而提高代码的复用性和可维护性。 本章内容涵盖了面向对象编程的基础概念,包括对象、类、属性、方法、事件,以及如何在VB.NET中使用这些概念进行编程,构建出响应用户交互的应用程序。通过理解并熟练运用这些知识点,程序员能够更有效地设计和实现VB.NET项目。

#include "mylogin.h" mylogin::mylogin(QWidget *parent) : QDialog(parent) { this->init_ui(); connect(this->bnt_login, &QPushButton::clicked, this, &mylogin::do_login); connect(this->bnt_register, &QPushButton::clicked , this ,&mylogin::do_enroll); } mylogin::~mylogin() { } void mylogin::init_ui() { this->setFixedSize(QSize(600,350)); this->setWindowTitle(tr("岑超升")); this->setWindowIcon(QIcon(":/src/1.png")); this->lb1 = new QLabel(); this->lb2 = new QLabel(); this->lb3 = new QLabel(); this->lb1->setFixedSize(QSize(560,200)); QPixmap pic; pic.load(":/src/2.png"); //this->lb1->setPixmap(pic.scaled(this->lb1->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); this->lb1->setPixmap(QPixmap(":/src/2.png")); this->lb2->setText(tr("用户名:")); this->lb3->setText(tr("密 码:")); this->usr_name_le = new QLineEdit(); //这两个参数后面传入信号中去,然后emit发射出去 this->usr_pass_le = new QLineEdit(); this->usr_pass_le->setEchoMode(QLineEdit::Password); this->bnt_login = new QPushButton(tr("登 陆")); this->bnt_register = new QPushButton(tr("注 册")); this->hb1 = new QHBoxLayout(); this->hb2 = new QHBoxLayout(); this->hb3 = new QHBoxLayout(); this->hb1->addWidget(this->lb2); this->hb1->addWidget(this->usr_name_le); this->hb2->addWidget(this->lb3); this->hb2->addWidget(this->usr_pass_le); this->hb3->addWidget(this->bnt_login); this->hb3->addWidget(this->bnt_register); this->vb1 = new QVBoxLayout(); this->vb1->addWidget(this->lb1); this->vb1->addLayout(this->hb1); this->vb1->addLayout(this->hb2); this->vb1->addLayout(this->hb3); this->setLayout(this->vb1); } void mylogin::do_login() { emit sig_login(usr_name_le->text(), usr_pass_le->text()); //需要把这里输入的账号密码信息发送到myapp那去,用到的函数是emit //需要自定义一个信号,sig_login //这个槽函数能够发出信号 } void mylogin::do_enroll() { emit sig_enroll(); }用C++语言解释并注释每行代码,并说明他们的功能和作用

2023-06-09 上传