VB.NET即时窗口用于在设计时调试和计算表达式、执行语句、输出变量值等
创新互联公司长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为金沙企业提供专业的网站建设、成都做网站,金沙网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
快捷键是:CTRL+G 或者按 CTRL+ALT+I
首先声明一下API
在你窗口最顶的位置上写上
Private Declare Function 取窗口句柄 Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'由于VB支持中文的 我就定义成 取窗口句柄 这个了
'在窗体中添加一个按钮里面放进下面代码就OK了
Private Sub Command1_Click()
Dim 窗口句柄 As Long '声明窗口句柄变量存储
窗口句柄 = 取窗口句柄(vbNullString, "新建 文本文档.txt - 记事本") '取窗口标题的句柄 把得到窗口标题句柄赋予给刚才 窗口句柄 这变量里
If 窗口句柄 = 0 Then '判断窗口句柄是否等于0 如果等于0表示无法找到窗口句柄
MsgBox "无法找到需要的窗口句柄"
Else
MsgBox "已找到窗口句柄 句柄数为:" 窗口句柄
End If
End Sub
Vb不是人机对话窗口,而是编程工具,可以编写代码进行调试执行或者生成可执行文件。
用Visual Studio .Net开发"Hello World!"程序:
我们知道"Hello World"一般是命令行程序,而这种程序在Visual Studio .Net中被称为"控制台程序"。下面是Visual Studio .Net编写控制台"Hello World!"程序的具体步骤:
(1)、启动Visual Studio .Net。
(2)、选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。
(3)、将【项目类型】设置为【Visual Basic项目】。
(4)、将【模板】设置为【控制台应用程序】。
(5)、在【名称】文本框中输入【Hello World】。
(6)、在【位置】的文本框中输入【E:VS.NET项目】,然后单击【确定】按钮,则Visual Studio .Net会按照上面设定的参数创建一个控制台应用程序项目,具体如图01所示。
图01:"Hello World"控制台程序的【新建项目】界面
(7)、在【解决方案资源管理器】窗口中,双击Module1.vb文件,进入Module1.vb文件的编辑界面。
(8)、Visual Studio .Net已经为产生Main()函数。在系统创建的Main()函数中加入下面一行代码就可以了:
Console.WriteLine ("Hello World!")
(9)、选择【文件】|【保存Module1.vb】菜单或者按快捷键Ctrl+S,保存所做的修改。
(10)、此时单击快捷键Ctrl+F5运行程序就可以得到图02所示运行界面:
用ShowDialog()打开窗体,对话框用msgBox()或者MessageBox()都是模式的。
首先窗口也是一个类,而显示出来的可以操作的那个窗口则是这个类的实例
你的意思是点击a的按钮之后单纯更新b的数据还是要改变b上面的控件显示的数据?
如果是前者,也就是b不用在显示上有任何变动的话,那么:
如果b是a的子窗口,那把b窗口的变量名变成是a的全局变量,然后再b把那个要变的数据设为全局并且是public,这样通过“b窗口变量名.要变的数据”就能访问到b里面的变量
如果b不是别人子窗口那么b就不具备变量名了(比如说你是要从子窗口改变主窗口的变量),那你只能通过b的类名(就是name属性)来访问它的数据,这时就只能把你要改的那个数据设为static了。
如果你懂了前面我说的,然后你问题是后者,就是说要通过a的按钮改变b的控件的状态的话,那么由于b上面的控件不是public的,所以没法访问,那么,
方法一:在实例化b之后,把b上面要改的那个控件作为变量传给a
方法二:有时因为各种原因无法使用方法一,那就只能把你将要做的修改做成b里面一个带变量的函数,但由于静态函数不能调用控件,所以要另外定义一个委托,然后设置一个该委托的静态全局变量,然后再b初始化的时候用这个函数作为变量执行构造函数,这样就能在a调用b的那个更改控件状态的函数了。
简单总结一下:把设计的窗体当成类,把实际操作的窗体看成这些类实体化后的变量,然后通过全局的公共变量、函数进行互动,由于主窗体是系统自动打开的,所以没有变量名,那就只能通过类名来访问,所以要把需要被访问的变量、函数设为静态,但由于静态函数无法访问控件,所以只能设置静态的委托变量并在窗体实例化的时候加载那个要访问的非静态函数。