利用VB实现文本框文本的格式设置
- 格式:doc
- 大小:24.50 KB
- 文档页数:2
中的TextBox控件详解TextBox组件(文本框组件)是一种常用的,也是比较容易掌握的组件。
应用程序主要使用它来接收使用者于输入文字信息。
在前面内容中已经或多或少的接触到TextBox组件。
本节就来详细探讨一下Visual Basic .Net中TextBox组件的使用方法。
一.TextBox组件、T extBox类:当我们使用Visual Basic .Net集成开发环境开发应用程序时,在从【工具箱】的【Windows窗体】选项卡中向Form1的设计窗体拖入一个TextBox组件的后,我们可能并没有感觉到即使时这样一个简单的操作,Visual Basic .Net都做了很多幕后工作。
主要工作和步骤如下:1. 首先实例化System.Windows.Forms.TextBox类,并根据拖动到窗体的位置和形状分别设定TextBox实例的各个属性。
2. 我们看到的设计窗体,其实是Form1类的一个实例,而Form1类首先是从System.Windows.Forms.Form类继承而来,Form1类中的成员根据使用者往窗体中拖入的组件不同而不同。
各个成员通过Add或AddRange方法加入到Form1中,这样拖入的组件才能够显示在设计窗体上。
以上这些都完全不同于以前Visual Basic。
通过上述步骤,我们不难得到TextBox组件和TextBox类之间的关系,TextBox组件是命名空间System.Windows.Forms中的T extBox类的实例,在从【工具箱】的【Windows窗体】选项卡中拖入窗体的任一组件,都是.Net框架类库——.Net FrameWork SDK中封装的某一个类的实例。
通过上述步骤也不难看出,Visual Basic .Net的确才是真正的面向对象(OOP)的开发语言。
二.TextBox类的成员:TextBox组件使用虽然比较简单,但T extBox类的构成成员却是非常的丰富。
VB教程:文本框(TextBox)2、文本框(TextBox)作用:用于输入、编辑文本或用于输出、显示文本。
(1)常用属性Text——表示用户输入的内容。
例:Label1.Caption=Text1.Text将Text1控件接收用户输入的数据通过Label1控件显示出来。
multiline ——设置文本框能否输入和显示多行文本。
true —可输入、显示多行文本False—限制所有的文本在一行内显示(缺省)。
scrollbars——是否需要滚动条(只有在multiline属性设置为true时)。
=0 没有。
=1 有水平。
=2 有垂直。
=3 水平、垂直都有。
注意:multiline属性和scrollbars属性只能在设计时进行设置,不能在代码中赋以新值。
SelStart——表示用户选中一段文字的起始位置。
第一个字符位置为0。
利用SelStart属性可以实现字符串查找功能。
SelLength——表示用户选中文字的长度。
SelText——表示用户选中文字的内容。
例:0123456789这时:SelStart=5,SelLength=4,SelText="5678"PasswordChar——设置是否在文本框中显示用户键入的字符。
如果该属性设置了某一字符,那么无论在文本框中输入什么(即无论Text属性值是什么),都只显示设置的该字符,例如,如果将PasswordChar的属性设置为字符“*”,那么文本框中的文本都以“*”显示,最终用户无法知道文本的内容,所以该属性起到了口令的作用。
(2)常用方法:SetFocus——使当前控件获得输入焦点,即将光标从其他位置移动到文本框中。
焦点(focus)代表接收用户鼠标或键盘输人的能力,对象(窗体和控件)获得焦点通常称之为“聚焦”。
当对象获得焦点时,可接收用户的输入。
(3)主要事件主要事件有Change、KeyPress、LostFocu(失去焦点,即光标离开)等。
VB课程设计报告——文本编辑器学院名称:学生姓名:专业名称:班级:一、课程设计题目用Visual Basic程序设计语言编写一个简易的文本编辑器要求:有最基本的文本编辑功能,包括复制、剪切、粘贴、字体设置、背景颜色设置、字体颜色设置;同时拥有文本管理功能,包括打开文件、保存文件;以及完整的系统运行退出等功能,所有的操作可选择设定的快捷键。
二、课程设计目的虽然本学期的Visual Basic课程是自学的,相对于课堂学习有些不足,但通过平时的上机实验,初步掌握了VB程序设计的各种方法,学会了编写最基本的VB程序;对于完整的VB程序设计来讲是很不足的,平时掌握的只是单独的窗体(Form)程序编写,以及各种简单控件的使用,没有做到很好连贯性,所以有必要做一次完整的VB程序设计,结合所学的基本知识,使用多个窗体自成一套系统,加上各种控件的综合运用,初步设计一个合格的VB 应用程序;这样在巩固VB所学的同时,更好地学会程序设计的一些思想和方法,对于以后的编程学习或是工作有重要的实践意义。
三、课程设计说明题目为文本编辑器,即是最基本的文本编辑程序,首先必须做好文本编辑器本身的功能,然后对其完善,做成一个完整的小程序功能设计说明:功能是这个文本编辑器的核心内容,也就是程序的作用,它是用来做什么的;本程序就是用来编写文本的,编写过程中要利用到窗体(Form)一个,控件包括:RichTextBox1(超文本框)、CommonDialog(通用对话框),以及InputBox(消息框)、菜单编辑器等,。
要做的工作就是编写代码把这些控件和窗体等结合为一体,使得程序能够成为一体,顺畅运行。
本次设计在按照题目要求的前提下,为了完整地展示一个应用程序,在最初就设计为最基本的文本的编辑器,所以取名为“易记本”,就是简易记事本的简称,然后加入图标,在程序完成之后还进行了大包操作,得到应用程序的安装文件,最后安装在电脑上运行使用。
四.源代码Private Sub Command1_Click()Dim i As IntegerIf Text2.Text <> "123456" Theni = MsgBox("密码错误", 5 + vbExclamation, "警告")If i <> 6 ThenEndElseText2.Text = ""Text2.SetFocusEnd IfEnd IfForm1.HideForm2.ShowEnd SubPrivate Sub Form_Load()Text1.Text = ""Text1.MaxLength = 6Text2.Text = ""Text2.MaxLength = 6Text2.PasswordChar = "*"End SubPrivate Sub Text1_LostFocus()If Not IsNumeric(Text1.Text) Then MsgBox "帐号必须为数字", , "警告" Text1.Text = ""Text1.SetFocusEnd IfEnd SubPrivate Sub Command1_Click()Form2.HideForm3.ShowEnd SubPrivate Sub Command2_Click()Form2.HideForm4.ShowEnd SubPrivate Sub Command3_Click()Form2.HideForm5.ShowEnd SubPrivate Sub Color_Click() CommonDialog1.Action = 3Text1.ForeColor = CommonDialog1.Color End SubPrivate Sub Command1_Click()Form3.HideForm2.ShowEnd SubPrivate Sub Copy_Click()Dim st As Stringst = Text1.SelTextEnd SubPrivate Sub Cut_Click()Dim st As Stringst = Text1.SelTextText1.SelText = ""End SubPrivate Sub Exit_Click()EndEnd SubPrivate Sub Font_Click()CommonDialog1.Flags = cdlCFBoth Or cdlCFEffects CommonDialog1.Action = 4Text1.FontName = CommonDialog1.FileNameText1.FontSize = CommonDialog1.FontSizeText1.FontBold = CommonDialog1.FontBoldText1.FontItalic = CommonDialog1.FontItalicText1.FontStrikethru = CommonDialog1.FontStrikethru Text1.FontUnderline = CommonDialog1.FontUnderline Text1.ForeColor = CommonDialog1.ColorEnd SubSub New_Click()Text1.Text = ""Me.Caption = FileEnd SubSub Open_Click()CommonDialog1.Action = 1Text1.Text = ""Open CommonDialog1.FileName For Input As #1Do While Not EOF(1)Line Input #1, inputdataText1.Text = Text1.Text + inputdata + vbCrLfLoopClose #1End SubPrivate Sub Paste_Click()Text1.SelText = stEnd SubPrivate Sub Print_Click()CommonDialog1.Action = 5For i = 1 To CommonDialog1.CopiesPrinter.Print Text1.TextNext iPrinter.EndDocEnd SubPrivate Sub SaveAs_Click()CommonDialog1.FileName = "vb课设用.txt" CommonDialog1.DefaultExt = "txt"CommonDialog1.Action = 2Open CommonDialog1.FileName For Output As #1 Print #1, Text1.TextEnd SubDim arr As Long, sum As Long, a As IntegerPrivate Sub Command1_Click()a = HScroll1.ValueText1.Text = plus(a)Call isprime(a)End SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub HScroll1_Change()Label2.Caption = HScroll1.ValueEnd SubSub isprime(max As Integer)Dim x As Integer, i As Integer, j As IntegerFor i = 2 To maxx = 0For j = 2 To i - 1If i Mod j = 0 Then x = 1Next jIf x = 0 Then Label2.Caption = Label2.Caption & i & " " Next iEnd SubFunction plus(a As Integer) As LongFor i = 1 To asum = sum + iNext iplus = sumEnd FunctionDim x1 As IntegerDim y1 As IntegerDim x2 As IntegerDim y2 As IntegerDim flag As BooleanPrivate Sub Command1_Click()On Error Resume NextCommonDialog1.CancelError = True CommonDialog1.DialogTitle = "颜色" CommonDialog1.ShowColorIf Err <> 32755 Then Picture1.ForeColor = CommonDialog1.Color End IfEnd SubPrivate Sub Command2_Click()Picture1.ClsEnd SubPrivate Sub Command3_Click()Form5.HideForm6.ShowEnd SubPrivate Sub Option1_Click()Picture1.DrawWidth = 1End SubPrivate Sub Option2_Click()Picture1.DrawWidth = 2End SubPrivate Sub Option3_Click()Picture1.DrawWidth = 4End SubPrivate Sub Option4_Click()Picture1.DrawWidth = 8End SubPrivate Sub Form_Load()Picture1.Scale (0, 0)-(400, 400)flag = FalseEnd SubPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) flag = Truex1 = Xy1 = YEnd SubPrivate Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If flag = False ThenExit SubEnd IfIf flag = True Thenx2 = Xy2 = YPicture1.Line (x1, y1)-(x2, y2)x1 = x2y1 = y2End IfEnd SubPrivate Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) flag = FalseEnd SubDim ctP As Single, ctDu() As Single, ctDuS As LongPrivate Sub Command1_Click()Picture1.AutoRedraw = True: ctP = 3.1415926Timer1.Interval = 20: Timer1.Enabled = Not Timer1.EnabledEnd SubPrivate Sub Command2_Click()Form7.HideForm6.ShowEnd SubPrivate Sub Form_Load()Me.Caption = "旋转的椭圆": Command1.Caption = "转/停"Text1.Text = "9 个": Timer1.Enabled = FalseEnd SubPrivate Sub Text1_Change()ctDuS = Val(Text1.Text)If ctDuS > 200 Then Text1.Text = "200"If ctDuS < 1 Then ctDuS = 1ReDim ctDu(0 To ctDuS)End SubPrivate Sub Timer1_Timer()Dim I As LongPicture1.DrawWidth = 3Picture1.ClsFor I = 0 To ctDuSctDu(I) = ctDu(I) + ctP * 0.01 * I / 9If ctDu(I) > ctP * 2 Then ctDu(I) = ctDu(I) - ctP * 2Show1 ctDu(I), &HFFFFFF / (ctDuS + 1) * I * 0.6NextDim x As Single, y As SingleStatic J As SinglePicture1.DrawWidth = 15x0 = Picture1.ScaleWidth * 0.5: y0 = Picture1.ScaleHeight * 0.5 Picture1.PSet (x0, y0), 255x = 1200: y = 0: J = J - 0.05If J < -ctP * 2 Then J = J + ctP * 2Zhuan J, x, yPicture1.PSet (x0 + x, y0 + y), RGB(0, 0, 255)End SubPrivate Sub Show1(ToJ As Single, Se As Long)Dim I As Single, x As Single, y As Single, x0 As Single, y0 As Single Dim a As Single, b As Single, x1 As Single, y1 As SingleIf Picture1.ScaleWidth < Picture1.ScaleHeight Thena = Picture1.ScaleWidth * 0.45Elsea = Picture1.ScaleHeight * 0.45End Ifb = a * 0.25x0 = Picture1.ScaleWidth * 0.5: y0 = Picture1.ScaleHeight * 0.5x = -a: y = 0: Zhuan ToJ, x, yx1 = a: y1 = 0: Zhuan ToJ, x1, y1Picture1.Line (x0 + x, y0 + y)-(x0 + x1, y0 + y1), Sex = 0: y = -b: Zhuan ToJ, x, yx1 = 0: y1 = b: Zhuan ToJ, x1, y1Picture1.Line (x0 + x, y0 + y)-(x0 + x1, y0 + y1), SeFor I = 0 To ctP * 2 Step 0.1x = a * Sin(I): y = b * Cos(I)Zhuan ToJ, x, yPicture1.Line -(x0 + x, y0 + y), SeNextx = a * Sin(I): y = b * Cos(I)Zhuan ToJ, x, yPicture1.Line -(x0 + x, y0 + y), SeEnd SubPrivate Sub Zhuan(ToJ As Single, x As Single, y As Single) Dim S As Single, J As SingleS = Sqr(x ^ 2 + y ^ 2)If S = 0 Then J = 0 Else J = y / SIf Abs(J) >= 1 ThenIf J > 0 Then J = ctP * 0.5 Else J = -ctP * 0.5ElseJ = Atn(J / Sqr(-J * J + 1))End IfIf x < 0 Then J = -ctP - Jx = S * Cos(J + ToJ): y = S * Sin(J + ToJ) End Sub Private Sub Command1_Click()EndEnd Sub五、运行结果六.心得体会通过本次课程设计,使我对VB的认识更加深入了一层,VB主要由两部分组成,一个是Visual 可视化界面设计,另一个是Basic程序设计。
中使文本框只能输入数字的方法编制计算类程序时文本框一般都用于输入数字数据,此时可以通过以下步骤来确保用户输入数据的正确性:编制计算类程序时文本框一般都用于输入数字数据,此时可以通过以下步骤来确保用户输入数据的正确性:首先添加好文本框控件TextBox后把属性IMEMode的值改成Disable,这样在该文本框中就不能使用中文输入法了。
然后对文本框的KeyPress事件添加以下代码Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox1.KeyPressIf Char.IsDigit(e.KeyChar) Or e.KeyChar = Chr(8) Thene.Handled = FalseElsee.Handled = TrueEnd IfEnd Sub其中e.KeyChar是键盘输入的键对应的字符,IsDigit函数可以判断是否为0到9的数字,Chr(8)为退格键,当e.Handled为True时,程序认为该KeyPress事件已经被处理过了,文本框的内容也就不会发生变化了。
从以上程序中不难看出,此时文本框只能接受数字和退格键,也就是说这个文本框是用来输入整数的。
如果文本需要输入小数的话,就要能够输入小数点".",而且小数点只能输入一次,此时可以将上面的函数改为下面的格式:Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Textbox1.KeyPressIf Char.IsDigit(e.KeyChar) or e.KeyChar = Chr(8) or e.KeyChar = "." ThenIf e.KeyChar = "." And InStr(TextBox1.Text, ".") > 0 Thene.Handled = TrueElsee.Handled = FalseEnd IfElsee.Handled = TrueEnd IfEnd Sub其中函数InStr返回指定字符在字符串中的位置,当字符串中不含此字符时,返回一个负数。
VisualBasic自学教材(常用控件的属性)——1、03、文本框(TextBox)控件的常用属性作者:杜勇False 能通过键盘修改文本框的Text属性内容MaxLength 获得或设置Text属性中所能输入的最大字符输。
如果输入的字符数超过MaxLength设定的数目时,系统将不接受超出部分,并且发出警告声。
MouseIcon MousePointer=99时,设定一个自定义的鼠标图标MousePointerMultiLine 设置文本框对象就是否可以输入多行文字。
取值为: True 当文本超过控件边界时,自动换行。
False需要注意的就是:若该属性为False时,文本框控件对象的Alignment属性无效。
OLEDragMode 获得或设置该对象就是否能作为OLE拖/放源,以及该进程就是自动启动,还就是在程序控制下启动。
取值为:0 Manual(手动)1 Automatic(自动)OLEDropMode 获得或设置该对象就是否能作为一个OLE放下目标, 以及它就是自动发生,还就是在程序控制下发生。
取值为:0 None(无)1 Manual(手动)PasswordChar 该属性将文本显示的内容全部改为所设置的内容。
她常用于设置密码,如PasswordChar设定为"*",那么无论用户输入什么字符,都只显示"*"。
RightToLeft 文本书写就是否自左向右。
取值为: TrueFalse 自右向左ScrollBoars 设置边框滚动条模式:0 无滚动条1 水平滚动条2 垂直滚动条3 水平与垂直滚动条SelLength 返回或设置选定文本的长度(字符数)。
该属性没有列在属性窗口中,但在程序中可以使用这些属性。
SelStart 返回或设置选定文本的起始位置,如果没有文本被选中,则指出插入点的位置。
该属性没有列在属性窗口中,但在程序中可以使用这些属。
vb richtextbox1的用法(原创实用版)目录1.RichTextBox1 简介2.RichTextBox1 的基本属性3.RichTextBox1 的事件4.RichTextBox1 的常用方法5.RichTextBox1 的示例代码正文一、RichTextBox1 简介RichTextBox1 是 Visual Basic 中的一个控件,它允许用户在文本框中输入和编辑多格式的文本。
通过使用 RichTextBox1,可以在 Windows 窗体应用程序或 Web 页面中创建一个功能强大的文本编辑器。
二、RichTextBox1 的基本属性1.Text:用于存储和显示文本框中的文本。
2.Font:设置或获取文本的字体、大小和样式。
3.ForeColor:设置或获取文本的颜色。
4.BackColor:设置或获取文本框的背景颜色。
5.Lines:设置或获取文本框中可见的行数。
6.MaxLength:设置或获取文本框中最大字符数。
三、RichTextBox1 的事件1.Click:鼠标左键单击文本框时触发。
2.DoubleClick:鼠标左键双击文本框时触发。
3.MouseDown:鼠标左键按下文本框时触发。
4.MouseUp:鼠标左键释放文本框时触发。
5.KeyDown:按下键盘上的某个键时触发。
6.KeyUp:释放键盘上的某个键时触发。
7.Enter:按下回车键时触发。
四、RichTextBox1 的常用方法1.Clear:清空文本框中的所有文本。
2.Paste:将剪贴板中的文本粘贴到文本框中。
3.Copy:将文本框中的文本复制到剪贴板。
4.Cut:将文本框中的文本剪切到剪贴板。
5.SelectAll:选择文本框中的所有文本。
6.Find:查找文本框中的指定文本。
7.Replace:替换文本框中的指定文本。
五、RichTextBox1 的示例代码```Visual BasicImports SystemPublic Class Form1Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.LoadRichTextBox1.Text = "Hello, World!"End SubEnd Class```以上代码创建了一个简单的 Windows 窗体应用程序,当窗体加载时,文本框中将显示“Hello, World!”。
用微软网格控件进行编辑输入Visual Basic中提供了许多标准控件和定制控件,每一个控件都可以提供一组特殊的用户界面和编程能力。
充分利用每一个控件的特性和方法,可以使编程工作更加容易、简单。
微软网格控件MSFlexGrid是个定制控件。
使用微软网格控件,可以按行列顺序显示正文、数字和图片,就象电子表格一样。
网格的高度、宽度和其它特性都可以进行调整,而且网格的行和列可以单个地或成组地进行操作。
MSFlexGrid控件对包含在内的单元内容可进行分类、合并以及格式化,并且可以与数据库控件相绑定。
MSFlexGrid控件具有50多种属性,比其它网格控件功能更强大,灵活性更强。
但是MSFlexGrid控件同其它Grid网格控件一样,用户不能编辑网格单元中的内容,在要求对其内容进行修改时,这可能是一个缺陷。
虽然可以对DBGrid控件进行编程完成编辑的功能,但其功能不如MSFlexGrid强大。
当在录入工作量比较大时,如果利用MSFlexGrid进行输入,代替Text或其它控件,从而避免了界面的反复刷新和不断地操作按钮,录入速度和效率会得以大大提高。
在应用程序中使用MSFlexGrid 之前,应先将MSFlxGrd.ocx 文件添加到工程中。
实现编辑网格单元的方案为了仅仅要求实现能够对网格单元进行输入,可以在MSFlexGrid的KeyPress事件中加入以下代码,但是修改编辑输入后的内容还十分困难。
Sub MSFLexGrid1_KeyPress(KeyAscii As Integer)MSFlexGrid1.Text=MSFlexGrid1.Text & Chr$(KeyAscii)End Sub另外一种方法是文本框和网格相结合,用户编辑操作文本框中的内容,操作完后移至网格单元中。
在这个过程中,应该实现以下几个功能:(1)文本框能准确定位,与待编辑网格单元相重合(2)平时文本框不显示,当进行编辑操作时显示(3)在输入完一行后能自动判断并加一新行(4)按回车键确认并自动到下一列(5)双击网格单元可显示文本框进行编辑(6)文本框消失后,把文本框内容移到网格单元中。
【例2.3】设计程序实现文本框文本的格式设置。
要求程序能通过一组单选按钮设置文本框的字体颜色——黑色、蓝色、红色,默认为黑色;通过另一组单选按钮设置文本框背景色——绿色、白色,默认为白色,两组单选按钮使用不同的风格;能通过复选框设置文本框的字形——粗体、斜体、下划线;文本框字号为20。
运行界面如图2.11所示。
图2.11程序界面图2.12界面设计(添加控件) 图2.13界面设计(属性设置效果)程序界面设计:如图2.12所示,向窗体上添加三个框架(Frame)、一个文本框(TextBox),在框架Frame1 、Frame2 和Frame3中分别添加三个单选按钮(OptionButton)、两个单选按钮、三个复选按钮(CheckBox)。
参照表2.4设置对象属性,效果如图2.13所示。
表2.4对象属性设置清单
代码设计:
Private Sub Form_Load() ‘该过程中的属性也可在属性窗口中设置
Option4.Caption = "绿"
Option4.BackColor = vbGreen
Option5.Caption = "白"
Option5.BackColor = vbWhite
Option5.Value = True
End Sub
Private Sub Option1_Click()
Text1.ForeColor = vbBlack
End Sub
Private Sub Option2_Click()
Text1.ForeColor = vbBlue
End Sub
Private Sub Option3_Click()
Text1.ForeColor = vbRed
End Sub
Private Sub Option4_Click()
Text1.BackColor = vbGreen
End Sub
Private Sub Option5_Click()
Text1.BackColor = vbWhite
End Sub
Private Sub Check1_Click()
Text1.FontBold = Check1.Value
注:Text1.FontBold为逻辑型,Check1.Value为数
值型,赋值时必须类型转换,非零转换成True,零
转换成False。
下面两处与之类似。
1
End Sub
Private Sub Check2_Click()
Text1.FontItalic = Check2.Value
End Sub
Private Sub Check3_Click()
Text1.FontUnderline = Check3.Value
End Sub
运行程序,选择字体颜色、背景色和字形,文本框的文字或背景将随着变化。
2。