×

vb设置文本框只读

vb设置文本框只读(VB中怎样设置Text ReadOnly)

admin admin 发表于2023-06-16 14:53:59 浏览146 评论0

抢沙发发表评论

本文目录

VB中怎样设置Text ReadOnly


Visual Basic作为应用程序的开发“利器”也表现在数据库应用程序的开发上,它良好的界面和强大的控件功能使数据库编程变得简单多了。但即便如此,数据库应用程序的开发仍然算得上是VB编程中的难点,这是因为你不仅要熟悉VB中关于数据库编程方面的知识(当然这是十分简单的)还要了解数据库的知识。所以我们先介绍一下数据库的基本知识,算是学习数据库编程前的热身运动吧!
一、热身运动
首先需要声明是,我们这里介绍的数据库知识都是指的关系数据库。所谓关系数据库就是将数据表示为表的集合,通过建立简单表之间的关系来定义结构的一种数据库。
不管表在数据库文件中的物理存储方式如何,它都可以看作一组行和列,与电子表格的行和列类似。在关系数据库中,行被称为记录,而列则被称为字段。下面是一个客户表的例子。
表1 客户表
客户号 姓名 地址 城市 街道 邮编
1723 Doe John 1234 Ffth Avenue New York NY 1004
3391 Smith Mary 9876 Myrtle Lavee Bosten MA 6078
3765 Blasel Mortimer 2296j River Road peoria IL 7011
此表中每一行是一个记录,它包含了特定客户的所有信息,而每个记录则包含了相同类型和数量的字段:客户号、姓名等等。
表 是一种按行与列排列的相关信息的逻辑组,类似于工作单表。
字段 数据库表中的每一列称作一个字段。表是由其包含的各种字段定义的,每个字段描述了它所含有的数据。创建一个数据库时,须为每个字段分配一个数据类型、最大长度和其它属性。字段可包含各种字符、数字甚至图形。
记录 各个客户有关的信息存放在表的行,被称为记录。一般来说,数据库表创建时任意两个记录都不能相同。
键 键就是表中的某个字段(或多个字段),它(们)为快速检索而被索引。键可以是唯一的,也可以是非唯一的,取决于它(们)是否允许重复。唯一键可以指定为主键,用来唯一标识表的每行。例如,在前面的例子中,客户标识号 (客户号) 是表的主键,因为客户号唯一地标识了一个客户。
关系 数据库可以由多个表组成,表与表之间可以以不同的方式相互关联。例如,客户数据库还可以有一个包含某个客户的所有定单的表。它只用“客户号”字段来引用该定单的客户,而不在定单表中的每项重复所有客户信息,如下表所示:
表2 定货表
定货 客户号 日期 内容 数量
14764 3391 2/23/94 27 $22.95
14932 3391 3/17/94 46 $9.57
15108 8765 2/15/96 27 $22.95
在这个表中,客户号字段引用了客户表中的 客户号字段,从而把定单和客户联系起来了。可以看到,客户 3391 (Mary Smith) 在 94 年 2 月 23 日订购了 27 项,在 94 年 3 月 17 日订购了 46 项。用来建立关系的键叫做外部键,因为它与“外部”表(客户表)的主键关联。
一对多和多对多关系 上表中的关系类型叫做一对多关系,因为一个客户可以发出多个定单,而某个特定的定单只能是一个客户所发。也可以建立多对多的关系。例如,列出所有可以销售的项(存货)的盘存表:
表3 盘存表

怎么改变vb中控件的只读属性


通过语句Combo1.Style=2是不行的,因为Style是只读属性。为了突破这个限制,我动用的Spy++这个武器,对两种不同Style值的combo控件进行侦察,发现了两处不同
  1、combo控件的style的值为1-VbComboDropDown时,combo控件窗口的Styles=&H54010242,而combo控件的style的值为2-VbComboDrop-DownList时,combo控件窗口的Styles=&H54010243
  2、combo控件的style的值为1-VbComboDropDown时,combo控件里有一个Edit文本框窗口,而combo控件的style的值为2-VbComboDrop-DownList时,则没有Edit文本框窗口

vb 如何搜索文件并修改其属性为只读


再添加三个textbox,里面分别存放“和“。作用如下:
text3.text=“attrib +r “+text4.text+text2.text+text5.text
’text3.text为存放批处理要用的路径
’text4.text为存放“
’text5.text也同样是存放“
’text2.text是直接引用楼主你自己的,作用应该为存放目标文件的绝对路径。
最后,shell命令改动一下。如下:
shell(“cmd /c“)&text3.text
因为我也没多少编程知识,所以只能多绕弯路来实现。

vb如何创建只读文本框,求高人帮忙!


VB文本框的右键菜单是系统默认提供的,在很多时候我们不想看见它,或者希望能够修改它.
方法1:替换菜单.
Form1.frm:
VERSION 5.00
Begin VB.Form Form1
Caption = “Form1“
ClientHeight = 3165
ClientLeft = 60
ClientTop = 375
ClientWidth = 4680
LinkTopic = “Form1“
ScaleHeight = 3165
ScaleWidth = 4680
StartUpPosition = 2 ’屏幕中心
Begin VB.TextBox Text1
Height = 600
Left = 1035
TabIndex = 0
Top = 990
Width = 2625
End
Begin VB.Menu mnu
Caption = “123“
Visible = 0 ’False
Begin VB.Menu mnu1
Caption = “321“
End
End
End
Attribute VB_Name = “Form1“
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
Text1.Enabled = False
Me.PopupMenu mnu
Text1.Enabled = True
End If
End Sub
这个方法其实很简单,就是自己定义一个菜单,然后利用窗口的PopupMenu方法替换掉Text1的默认菜单.这里要注意的就是在弹出菜单之前一定要把文本框Enabled设置为False.
这个方法的缺点就是,只能修改右键菜单,却没办法彻底屏蔽它.
方法2:替换文本框的消息响应函数
写一个bas,内容为:
Option Explicit
Private Declare Function SetWindowLong Lib “user32“ Alias “SetWindowLongA“ (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function CallWindowProc Lib “user32“ Alias “CallWindowProcA“ (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const GWL_WNDPROC = (-4)
Private Const WM_RBUTTONDOWN = &H204
Private m_lpPrevDisableRButtonDownWindowProc As Long
Private Function DisableRButtonDownWindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If uMsg = WM_RBUTTONDOWN Then
Exit Function
End If
DisableRButtonDownWindowProc = CallWindowProc(m_lpPrevDisableRButtonDownWindowProc, hwnd, uMsg, wParam, lParam)
End Function
Public Function HookText(ByVal hwnd As Long) As Boolean
m_lpPrevDisableRButtonDownWindowProc = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf DisableRButtonDownWindowProc)
End Function
Public Function UnHookText(ByVal hwnd As Long) As Boolean
Call SetWindowLong(hwnd, GWL_WNDPROC, m_lpPrevDisableRButtonDownWindowProc)
End Function
添加这个bas到工程,然后重写窗口事件:
Option Explicit
Private Sub Form_Load()
HookText Text1.hWnd
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
UnHookText Text1.hWnd
End Sub
这样Text1就不会弹出任何菜单了.
如果希望替换默认菜单为自己的菜单,那么修改DisableRButtonDownWindowProc为:
Private Function DisableRButtonDownWindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If uMsg = WM_RBUTTONDOWN Then
Form1.PopupMenu Form1.mnu ’自己的自定义弹出菜单
Exit Function
End If
DisableRButtonDownWindowProc = CallWindowProc(m_lpPrevDisableRButtonDownWindowProc, hwnd, uMsg, wParam, lParam)
End Function
即可.

vb中text怎么设为只读


方法有2种。
1:
Text1.Locked=false ’这种是只读,但可以复制Text中的内容
2:
Text1.enabled=false ’这种完全禁止从Text中复制内容

vb下如何根据窗体中某一文本框的值(如:[审核])将整体设置成只读或状态者可编辑状态,


1、你是希望一个控件设置【只读】/【编辑】 状态还是好几个?
2、你设置【只读】/【编辑】 状态的依据是?
3、实现这个目的,有两个方法
方法1:可输入的控件有 locked这个属性,locked=false 可编辑,locked=true 不可编辑
方法2:添加一个可以作为容器的控件(picturebox、frame等),把你需要调整状态的控件放进这个控件内,当这个控件的enable=true 时,控件内的那些控件(需要改变状态的控件)处于可编辑状态;当enable=false 时,控件处于不可用编辑状态
4、实现方法,如果是根据文本框的值去改变这个状态,还不如用combobox控件来实现

VB中要将文本框textl的内容设置为只读,可使用什么语句


一)可以使用文本框的Locked 属性来设置内容只读。

Locked 属性

返回或设置一个值,以指定控件是否可被编辑。

Private Sub Form_Load()
    Text1.Locked = True
    Text1 = “不可输入“
End Sub

二)也可使用文本框的Enabled属性来限定文本框编辑。

Enabled 属性

返回或设置一个值,该值用来确定一个窗体或控件是否能够对用户产生的事件作出反应。

Private Sub Form_Load()
    Text1.Enabled = False
    Text1 = “不可输入“
End Sub

这两种方法皆可达到目的。