两个方法:
在兴和等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、网站设计 网站设计制作按需开发,公司网站建设,企业网站建设,品牌网站设计,成都营销网站建设,外贸营销网站建设,兴和网站建设费用合理。
1、Visual Studio,新建项目,最后一个类别就是封装程序用的
我说的是左边的大类(VB.net,C#,J#那些的最后一个),不是右边的子类
2、LS说的方法虽然可以,但是一般不是用debug,要用release版本!调试程序的地方会有debug,release两个选择,正式使用要用release!
但是LZ要注意,dotNet开发的程序,离开了FrameWork就基本不能运行,所以你拿到别的机器用,先确认安装了Framework!如果你用第一种方法,那么会自动监测系统是不是装了Framework;第二种方法的话,没有Framework程序是直接报错!
代码已测试。
一、测试需要的INI文件。名称为“setinfo.ini”,存放路径为你解决方案里“Bin“文件夹的”Debug“文件夹里。
内容:
[Location]
pnlTime.Location.X=787
pnlTime.Location.Y=0
[TopMost]
Top=True
二、操作INI文件的类。新建一个类,类中内容为:
Public Class Class1
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" _
( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Int32, _
ByVal lpFileName As String _
) As Int32
End Class
三、界面代码:
Imports System.IO 'for path
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
getINI()
End Sub
Private Sub getINI()
Dim iniclass As New Class1 '
Dim myBf As String 'get set_info 开辟存储的内存
myBf = New String(CChar(""), 256)
Dim myFN As String '配置文件的文件路径
myFN = Path.Combine(My.Application.Info.DirectoryPath, "setinfo.ini")
Dim myAN As String 'Application_NAME,也是Section名称
myAN = Me.TextBox1.Text
Dim myKN As String 'KEY_NAME,关键字名称
myKN = Me.TextBox2.Text
Class1.GetPrivateProfileString(myAN, myKN, "", myBf, myBf.Length, myFN) '调用读取INI文件的操作
TextBox3.Text = Microsoft.VisualBasic.Left(myBf, InStr(myBf, Chr(0)) - 1) '截取有用部分,有必要
End Sub
End Class
四、测试截图如下
'这是数组的一个方法了,可是可以给数组定义扩展方法来实现这种形式。不过要给Item每个成员能动态生成相应方法,想不出其它简单点的办法,只能一个一个的添加扩展方法。
Namespace 测试
Public Class Item
Public Number() As String
Public Name As String
Public Symbol As String
Public Value As Single
Public Unit As String
Public Description As String
Public Remarks As String
End Class
Public Class XX
Public tty() As Item
Public Sub New()
tty(0).Name = "Women"
tty(0).Value = 198000
tty(1).Name = "temen"
tty.Name("temen").Value = 99999
End Sub
End Class
Public Module Module1
System.Runtime.CompilerServices.Extension() _
Public Function Name(ByVal she As Item(), ByVal key As String) As Item '定义扩展方法功能 在net.3.5前的版本像似没有。
For Each it In she
If it.Name = key Then
Return it
End If
Next
Return Nothing
End Function
End Module
End Namespace
vb6建立主窗体的子窗体有两种方法:
第一种方法是建立一个MDI窗体,然后把普通的form窗体设置成它的子窗体。
第二种方法是使用Windows API设置一个普通form窗体为另外一普通窗体的子窗体。
一、先来看看如何建立MDI窗体的子窗体:
1、启动vb6,新建一个标准EXE工程。
2、在“工程”菜单里选择“添加MDI窗体”,
点击“打开”,添加了一个MDIForm1窗体,
这步也可以工程窗口的窗体图标上右键完成。
3、在“工程”菜单里选择“XXX 属性”,
在弹出的窗口里把启动对象设成MDIForm1。
4、在form1的属性窗口里,把MDIChild属性设置为True。
5、在Private Sub MDIForm_Load()过程里添加form1.show。
6、运行程序,看到设置已经成功。
二、使用Windows API建立子窗体:
1、1、启动vb6,新建一个标准EXE工程。
2、在“工程”菜单里选择“添加窗体”,
点击“打开”,添加了一个form2窗体,
这步也可以工程窗口的窗体图标上右键完成。
3、双击form1窗体,在通用里加入以下windows API:
Private Declare Function SetParent Lib "user32.dll" ( _
ByVal hWndChild As Long, _
ByVal hWndNewParent As Long) As Long
4、在form1的Private Sub Form_Load()过程里加入
Form2.Show
SetParent Form2.hWnd, Form1.hWnd
Form2.Move 0, 0
5、运行程序,可以看form2已经是form1的子窗体了。
6、完整程序代码如下:
Option Explicit
Private Declare Function SetParent Lib "user32.dll" ( _
ByVal hWndChild As Long, _
ByVal hWndNewParent As Long) As Long
Private Sub Form_Load()
Form2.Show
SetParent Form2.hWnd, Form1.hWnd
Form2.Move 0, 0
End Sub