VB.NET 教程 · 1.2

1.2 Hello World?

写第一行代码,让按钮真的能点。

第 1 章 制作第一个程序 适合新手

*本节将开始编写代码

开始写代码!

回到上一节的那个界面。VS非常的方便,你想给哪个控件写代码,就双击一下,比如我们双击一下这个按钮。

Visual Studio 的 Form1 设计界面,上方是一个空白文本框,下方是一个写着“点我”的按钮,按钮四周显示选中标记
窗体设计界面中的文本框与按钮

于是就能看到以下界面

双击按钮后 Visual Studio 打开的 Form1.vb 代码窗口,光标停在 Private Sub Button1_Click 过程内部,右侧为解决方案资源管理器
双击按钮后自动生成的 Button1_Click 事件代码

千万不要被吓到,这里面的很多东西我们先不用管,只需要知道光标所在的那一行就是我们需要写代码的地方就行了。

先说一下我们的目标,我们是要实现点击按钮之后在文本框里面显示HelloWorld。但是,那个文本框叫啥?

所以,回去看看吧,在上面的标签页中,点击Form1.vb[设计]*,回到刚才的设计界面。

点击 Form1.vb[设计] 标签页后回到窗体设计视图,左侧是工具箱,右侧是属性面板,窗体上是文本框和“点我”按钮
切回 Form1.vb[设计] 标签页

选中文本框,可以看到右下角属性面板显示它的名称是Textbox1。

Textbox1我们称其为对象。

用红框和箭头标出:选中的文本框,以及右下角属性面板顶部显示的控件名称 TextBox1
属性面板中显示的控件名称 TextBox1

再次双击按钮,回到代码编辑模式,在里面输入Textbox1(VB不区分大小写),然后加一个.

这时候,神奇的事情发生了,可以看到光标下方出现了一个提示框,提示我们下一步的操作。

代码中输入 TextBox1. 后弹出的 IntelliSense 成员列表,包含 Text、Location、Anchor、Enabled、Name 等项,下方显示 Property TextBox.Text As String 的说明
输入点号后出现的 IntelliSense 提示框

聪明的同学应该已经看出来要选哪个了。很明显,是Text。

顺便一提,扳手符号代表这是属性,五角星代表vs推测你会使用这个,并且把它放在了最前面,可以说是非常的人性化了。

于是,我们补全代码。

代码编辑器中补全成 TextBox1.Text 的一行代码,位于 Button1_Click 过程内
补全为 TextBox1.Text

那么需要设置的对象有了,属性有了,该如何去设置呢?

这个时候就要引入“赋值”这个概念。

举个例子,我们设定x和y,要让x的值等于y,就可以这样写:x=y

这样y的值就给了x。

那么给属性赋值也是这个道理,使用等于号。

代码编辑器中写入 TextBox1.Text = HelloWorld,其中 HelloWorld 没有加引号,被编辑器标记为错误
未加引号的 HelloWorld 被标记为错误

然而,这样貌似不太对劲的样子。

红色波浪线就代表这个地方有错。

那么该怎么修改?

很简单,这里引入一个常识,字符串需要使用引号引起来才行,那么我们给HelloWorld的两侧加上引号。

好,这样就不会报错了。

修改后的代码 TextBox1.Text = "HelloWorld",HelloWorld 两侧加上双引号,红色波浪线消失
给字符串加上引号后错误消失

点击上方启动,界面被加载出来,然后点击按钮,果然成功了。

那么到这一步,恭喜你,VB.NET入门了!

程序运行后的窗体:上方文本框中显示 HelloWorld,下方按钮上写着“点我”
运行后点击按钮,文本框中显示 HelloWorld

同样的,我们可以为窗体上其他控件写代码,甚至是窗体自己。所以双击一下窗体……

可以看到自己多出来了两行代码,另外与刚才不同的是,红框的地方变成了Form1,代表我们是在给窗体自身写代码。

而蓝框的地方变成了Load。刚才给按钮写代码的时候是Click,Click代表点击时触发,而Load代表窗口一加载就立即触发。

代码窗口新增 Form1_Load 事件处理过程,红框标出左侧下拉框中的“(Form1 事件)”,蓝框标出右侧下拉框中的 Load
双击窗体后新增的 Form1_Load 事件

下拉菜单可以看到里面还有很多事件可供选择,如果看不懂可以用翻译软件直接英语翻译成中文,大家可以自己去试试。

展开的事件下拉列表,依次列出 Load、LocationChanged、LostFocus、MarginChanged、MaximizedBoundsChanged、MdiChildActivate、MenuComplete、MouseClick、MouseDoubleClick、MouseDown 等事件
事件下拉列表中的其他可选项

那么我们仍然选择Load,下面让窗口一加载就把按钮上的文字变成click me。

跟上面改变文本框的方法一样,按钮也同样拥有Text这个属性,给这个属性赋值即可。

Form1_Load 过程内写好的代码:Button1.Text = "Click Me"
在 Form1_Load 中设置按钮文字
再次运行后的窗体:文本框为空,下方按钮上的文字已变成 Click Me
运行后按钮文字显示为 Click Me

完整代码如下,可自行复制

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        TextBox1.Text = "HelloWorld"
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Button1.Text = "Click Me"
    End Sub
End Class