VB.NET程序设计:面向对象、类与控件操作

需积分: 0 1 下载量 122 浏览量 更新于2024-07-13 收藏 340KB PPT 举报
"VB.NET程序设计相关的内容,包括面向对象和类的概念,命名空间的使用,对象、窗体和控件的介绍,以及控件的画法和基本操作。此外,还涉及事件驱动编程,对象的属性、方法和事件,以及VB.NET的集成开发环境中的工程、窗体、程序模块和控件的定义。" 在VB.NET中,面向对象编程是一种核心编程范式,它基于类和对象的概念。类是对象的蓝图,定义了一组属性和方法,这些属性描述了对象的状态,而方法则描述了对象的行为。例如,一个人可以被视为一个对象,其属性可能包括姓名、年龄和性别,而方法可能包括行走、说话等。当创建一个类的实例时,就形成了一个具体的对象。 命名空间是组织类和接口的一种方式,它允许你在大型项目中管理和避免命名冲突。在VB.NET中,你可以使用`Imports`关键字引入命名空间,以便访问其中的类和类型。 对象是类的具体实例,每个对象都可以有自己的属性值和状态。在VB.NET中,可以通过设置对象的属性来改变其状态,例如,修改控件的颜色、大小等。同时,通过调用对象的方法来执行特定的操作。对象还可以响应事件,这是事件驱动编程的基础。当发生特定事件(如按钮点击)时,对象会执行预先定义的事件处理程序代码。 窗体是VB.NET应用程序的主要界面,用户通过窗体与应用进行交互。窗体可以包含各种控件,如按钮、文本框等。控件是用户界面的可视化元素,可以放置在窗体上并执行特定的功能。控件的画法和基本操作包括添加、删除、调整大小和位置等。 VB.NET的集成开发环境(IDE)提供了一个工作区,用于管理应用程序的不同组成部分。工程(项目,.vbp)包含了整个应用的所有组件,如窗体和模块。窗体文件(.frm)定义了窗体的布局和控件。程序模块(.bas)是存储基本语言代码的地方,而控件(Control)是用户界面中的各个组件。 在实际编程中,通过拖放控件到窗体上来实例化控件类,从而创建对象。例如,TextBox类定义了文本框的属性(如文本内容、字体样式等)、方法(如Clear、AppendText等)和事件(如TextChanged、GotFocus等)。在窗体上创建多个TextBox控件,虽然它们都是TextBox类的实例,但每个都有自己的属性值,是独立的对象。 VB.NET的面向对象特性、命名空间机制和丰富的控件库,提供了强大的工具来构建功能丰富的Windows应用程序。理解和掌握这些概念对于有效地使用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(); }解释每一行代码

2023-06-09 上传