Visual Basic .NET:掌握选择结构与过程编程关键

需积分: 0 1 下载量 10 浏览量 更新于2024-07-13 收藏 111KB PPT 举报
在本章节 VB.NET (第7章) 中,我们关注了两种重要的编程概念:可选参数和选择控制结构。首先,关于可选参数的使用规则,它在方法或子程序的定义中至关重要。在Visual Basic.NET中,可选参数必须放在所有必选参数之后,并且必须以 "Optional" 关键字开头,并附带一个默认值。在调用这些方法时,如果没有提供可选参数,程序会使用预设的默认值。但为了确保正确处理,代码中通常需要包含条件判断来检查是否提供了用户自定义的参数值。 在选择控制结构方面,Visual Basic.NET提供了多种工具来处理条件和决策逻辑。7.1节着重介绍了条件语句,包括单行If-Then-Else和块结构If-Elif-ElseIf-Else,这两种形式都是基于某个条件决定程序的执行路径。IIf函数作为简单的条件判断工具,可以用于执行快速的条件操作,它是If-Then-Else结构的简化版本。 更进一步的是多分支控制结构,如Case语句,它允许根据一个测试表达式的值,从一系列独立的选项中选择执行哪个语句块。这在处理复杂条件时非常有用,比如在处理枚举或范围类别的时候,可以根据特定值执行不同的行为。 在实际编程中,理解并熟练运用这些概念有助于编写更加灵活和高效的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 上传