`

textbox使用练习

    博客分类:
  • c#
阅读更多
今天老师布置了一个任务给我,是要做一个简单的form,实现发送信息,不涉及socket编程,只是将同一个form中的发送窗口的信息按回车键,然后消息在接收窗口出现。我用的是textbox。

首先在form窗口拖一个textbox,tbReceive。将作为接收窗口,设置multiline属性设置为true,scrollBar设置为vertical,这样更加美观。
再拖一个textbox,tbSend,为了美观,属性的设置同tbReceive。
由于是按回车键发送信息,我们触发tbSend的KeyDown事件,键盘按下则触发事件。
/// <summary>
        /// 发送窗口键盘按下事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tbSend_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)//如果键盘按下回车键
            {
                if (tbReceive.Text == "")
                {
                    tbReceive.Text = "发送:" + strStationID + tbSend.Text;
                }
                else
                {
                    tbReceive.Text = tbReceive.Text + "\r\n" + "发送:" + strStationID + tbSend.Text;
                }
                tbSend.ResetText();//清空发送窗口的信息
            }
        }

接收窗口时可以接收多条,但是由于发送窗口也是多行的,按回车之后,信息不在了,但是光标已经在下面一行,要解决这个问题,我们还得触发KeyUp事件。
/// <summary>
        /// 发送窗口的键盘弹回事件,清空发送窗口的信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tbSend_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)//如果按回车键返回
            {
                tbSend.ResetText();
            } 
        }

这样就可以实现发送信息的功能。
下面还有以下细节问题。
就是一打开form光标定位问题,光标应该在发送窗口,我一开始是使用focus函数,
this.tbSend.Focus();//光标定位
使用这个函数后,光变还是在接收窗口,后来才知道,是要设置textbox的TabIndex属性,必须是接收窗口的tabindex值要大于等于发送窗口的该属性值,focus函数才生效。
所以这里也想说说tabindex。
TabIndex就是按tab键有顺序的获取定义过的TabIndex元素设置在各个元素之间的焦点,如果不想某个控件被获取焦点,可以设置tabindex为负值,这样的话按他不、就会直接跳过。
下面用一个简单的表单做例:

<form name="testform" method="post" action="">
<input type="text" name="t1" tabindex="1" />
<input type="text" name="t2" tabindex="2" />
<input type="text" name="t3" tabindex="3" />
<input type="submit" name="t4" value="SendInfo" tabindex="-1" />
</form
>

使用Tab键,获取焦点的顺序就是通过tabindex的值大小来排序的。上面的例子依次获得焦点的是t1, t2, t3, 到t4的时候,由于TabIndex的值为-1,所以t4不会获得焦点,而是直接跳到下一个获取焦点的元素上。

t1, t2, t3, t4的TabIndex值可以根据实际需求任意更改,Tab焦点根据值由小到大被获得


分享到:
评论

相关推荐

    c#实验一源代码 使用软件VS

    在C#编程中,"实验一源代码 使用软件VS" 提示我们这是关于使用Microsoft Visual Studio(VS)进行Windows应用程序开发的一个基础练习。Visual Studio是微软提供的一个集成开发环境(IDE),支持多种语言,包括C#,...

    VB.NET复习练习题

    在第一个练习题中,这种方法用于生成两个100以内的随机整数,并将它们显示在文本框`TextBox1`和`TextBox2`中。之后,用户输入答案,在`Button2_Click`事件中,代码检查用户输入的答案是否等于两数之和,根据结果在`...

    vb.net课后练习题

    本课后练习题集是针对VB.NET初学者设计的,旨在帮助学习者巩固在Visual Studio环境中使用VB.NET编程的基础知识。 1. **VB.NET基础知识** VB.NET是Visual Basic的.NET版本,支持面向对象编程。它提供了丰富的控件库...

    ASP.NET的所有课堂练习

    其次,控件的使用是ASP.NET Web Form的核心部分,如Label、TextBox、Button等,这些控件使得创建交互式的网页变得简单。此外,控件间的事件处理也是关键,例如Button的Click事件,通过编写事件处理函数来响应用户的...

    用VB编写的字母练习,可用做课程设计

    【VB字母练习】是一个使用Visual Basic(VB)编程语言开发的应用程序,主要目的是帮助用户进行字母练习,尤其适合大学课程设计项目。这个程序可能包含了各种交互式的字母识别、排序、拼写检查等练习,旨在提升用户对...

    C# 加减乘除 小练习(winform)

    在本文中,我们将深入探讨如何使用C#编程语言在Windows Forms环境下实现一个基础的加减乘除小练习程序。这个程序不仅包含基本的数学运算,还能读取和保存用户的成绩,便于用户回顾历史记录。首先,我们需要理解C#的...

    初学者VB练习

    这个“初学者VB练习”集合很可能是为了帮助新手熟悉VB的基本概念、语法和编程实践。让我们详细了解一下VB的基础知识以及如何通过练习来提升技能。 1. **VB基础概念**: - **事件驱动编程**:VB的核心是事件驱动...

    自编 计算器,编程练习

    通过这个编程练习,开发者不仅可以熟悉VB.NET的基础语法,还能了解如何使用Visual Studio 2005进行项目管理,包括创建用户界面、编写事件处理函数以及调试代码。此外,这个小型项目也可以帮助开发者锻炼问题解决能力...

    matrixVb的使用练习

    解算后的结果可以通过VB6的控件(如Label或TextBox)显示,或者直接输出到日志文件中。例如: ```vb Label1.Caption = Matrix1.Matrix(1, 1) & ", " & Matrix1.Matrix(1, 2) ``` 7. **错误处理** 在使用...

    打字练习

    在VB.NET中,开发打字练习应用会用到其强大的Windows Forms控件,如TextBox(用于显示待输入文本)和Label(显示提示信息)。基本步骤包括: 1. **界面设计**:创建窗体并添加必要的控件,例如一个TextBox用于显示...

    C#的记事本练习

    8. **多线程**:虽然初级的记事本练习可能不会涉及,但当处理大文件或进行长时间操作时,使用多线程可以提高用户体验,避免UI冻结。 通过完成"C#的记事本练习",你可以巩固C#编程基础,理解Windows桌面应用开发的...

    C# 打字练习窗体程序

    Windows Forms提供了丰富的控件库,如Label(用于显示提示文本)、TextBox(用户输入文字的地方)和Button(触发操作的按钮),这些控件通过事件驱动模型进行交互,当用户执行特定操作时,如点击按钮,相应的事件...

    vb练习题详细

    VB(Visual Basic)是一种基于事件驱动的编程语言,由微软开发,是...通过解决这些练习题,你可以掌握VB的基础语法,包括数组、函数、循环、条件判断、文件操作以及用户界面元素的使用,这些都是编写VB程序的基本技能。

    键盘打字速度练习VB源码

    1. **窗体界面设计**:VB中的Form用于创建用户界面,用户可以看到和交互的所有元素,如文本框(TextBox)用于显示待输入的字母,按钮(Button)用于开始和结束练习,以及标签(Label)用于显示结果,都需要在Form上...

    加法练习器

    这通常涉及到TextBox控件的使用,该控件允许用户输入文本,而Button控件则触发计算检查的事件。 3. **答案验证**:VB.NET提供了强大的数学运算能力,可以比较用户输入的答案与预计算的正确答案,判断是否正确。如果...

    30VB套上机练习题

    练习题可能会要求设计并实现各种窗体和控件,如Label、TextBox、ListBox、ComboBox等。 5. **数组与集合**:VB中的数组用于存储一组相同类型的数据,而集合则是一组对象的容器。考生需熟悉如何声明、初始化和操作...

    c#自己做的小项目,适合练习

    3. **Web表单和控件**:学习如何创建和使用Web表单,以及各种服务器控件,如TextBox、Button、Label等,进行用户输入和数据呈现。 4. **数据库交互**:可能使用ADO.NET或者Entity Framework进行数据库操作,包括...

    VB打字小练习,有关计时器的应用,计算打字效率和用时

    在这个练习程序中,可能会有一个Label显示待打的字母序列,一个TextBox供用户输入,以及其他的控件如Button来开始、暂停或重置计时。 代码结构可能包括以下几个部分: 1. 初始化:设置计时器的Interval属性,如1000...

    c#卷标、文本框与按钮练习

    在C#中,TextBox类提供了多种属性和事件供开发者使用。例如,Text属性用于获取或设置显示的文本,Multiline属性可设定文本框是否为多行模式,ScrollBars属性用于控制滚动条的显示。同时,还可以监听TextChanged事件...

    C_项目开发综合练习

    【C#项目开发综合练习】涉及多个C#编程的基础知识点,包括输入输出处理、条件判断、数组操作、日期时间处理、图像控制以及用户界面交互。下面是对这些知识点的详细解释: 1. **输入输出处理**:题目要求用户输入两...

Global site tag (gtag.js) - Google Analytics