vb.net初学

property descript as string
get
 descript = strDesc
end get
set
 strDesc = value
end set

end property


构造函数:
Sub New(abc as integer)
 MyBase.New
 ...
 ...
End Sub

属性:
那些可以在运行的shi候she置和du取的属性被称作"read-write"属性。而那些只能在运行的shi候du取的代ma称wei"read-only"属性。

有的shi候,dui象的lei型在guo程没有运行之前hai是不确定的,在zhezhong情况下,可以声明zhe个dui象bian量的lei型wei Object 数据lei型,zhe可以chuang建一个dui任何dui象的音用

可以很容易地使用with ... end with 提高代ma的效率:
with button1
 .text = "ok"
 .visible = true
 .top = 200
 .left = 5000
 .enabled = true
end with

当引用一个窗体的名称,其石确切的江,引用的是zhe个窗体属于的lei,而不是窗体zhe个dui象本身,一个京常犯的cuowo就是企tu不使用dui象而直接音用一个lei的属性,例如:
form1.printmyjob
wei了fangwen一个不同的窗体上的方法需要先建立一个那zhong窗体lei的instance,并把它fu gei 一个dui象bian量:
Dim frmForm1 as new Form1
frmForm1.PrintMyJob

注意到上面zhe个例子建立了一个新的窗体dui象,而且没有xian示它.如果用hu需要使用一个窗体dui象的方法的hua,没有必要一定把zhe个窗体xian shi 出来.如果需要xian shi 一个新的窗体,只需用如下代ma即可:
frmForm1.show

frmForm1.Close() 

如果要使多个窗体能够互相访问,可以采用静态成员变量解决这个问题,例如:从a窗体中打开了b和c窗体,那么可以将b和c窗体的实例存放到a的两个静态成员中,那么他们就可以互访了。

从内存中卸载一个窗体和控件:
form1.close()
关联的父窗体关闭以后,子窗体会自动关闭。

释放对象变量使用的资源:
myobject = nothing

释放一个被类使用的对象
要释放一个被类使用的对象,只需在类的析构过程里面把这个对象赋为nothing就可以了
注意:.net框架使用一个名为reference tracing garbage collection 的系统调用过程来定期释放那些没有用的资源,所以,把一个对象设置为Nothing,只是确认系统的垃圾收集器可以把这个对象使用的空间释放掉,并不是真正地释放掉这个对象所使用的资源。垃圾的收集是自动的,它不可能知道什么时候一个对象需要被系统释放资源,所以重要的是要把一个没有用的对象设置为Nothing,这样的话,垃圾收集器就可以定期把这些对象清空了。

居中一个窗口:
sub CenterForm(ByVal TheForm As Form)
  Dim RecForm As rectangle = Screen.GetBounds(TheForm)
  Theform.Left = Cint((RecForm.Width - Theform.Width)/2)
  Theform.Top = Cint((RecForm.Height - Theform.Height)/2)
End Sub

用户可以通过先引用一个对象作为一个参数,然后,在过程中,把这个参数申明为一个新的对象。

Visual Basic 提供了两种方法可以查到对象变量属于哪个类:关键字TypeOf和TypeName
TypeOf只能用在if...then..else表述中。用户必须直接在代码中包含这个类的名称:
if TypeOf MyControl Is CheckBox Then
TypeName 可以在代码的任何一个地方使用它,并且它以字符串的形式返回类的名称。

用一个字符名称调用属性或方法可以使用callbyname:
result  = CallByName(Object,ProcedureName,CallType,Arguments())
见msdn文档

显示模式对话框:frmAbout.ShowDialog()
显示非模式对话框frmAbout.Show()

预定义的对话框:InputBox,MessageBox
预定义的对话框都是模式的

所谓模式的,既可以局限于应用程序中,也可以局限于系统中。如果消息框的模式局限在应用程序中(缺省),则在这个对话框未消失之前不能切换到该应用程序的其他部分,但是可以切换到其他应用程序。在消息框未消失之前系统的模式消息框不允许切换到别的应用程序。

接口一定是公有(Public)的,即使它们可以被申明为Public,Friend,Protected或者Private,唯一的可以在接口定义中(诸如Sub、Function、或者Properties)改变的关键字是Overloads和Default关键字,而其他的是不能改变的,如,Public、Private、Friend、Protected、Share、Static、Overrides、MustOverride、NotOverrid_able

申明一个接口:
Public Class InterfaceClass
    Interface ITest
        Sub sub1(ByVal i As Integer)
    End Interface
End Class

实现一个接口:
Public Class InterfaceImp
    Implements InterfaceClass.ITest

    Public Sub subM(ByVal i As Integer) Implements InterfaceClass.ITest.sub1
        MessageBox.Show("ok")
    End Sub
End Class

关于继承:
新的继承的类可以重载一些基本类的方法,VB.Net使用以下这些关键字来控制属性和方法的重载:
1.Overridable ----允许一个属性或者方法在继承类中可以重载。公有方法的缺省的值为NotOverridable
2.Overrides ----允许用户重载一个基本类的属性或者是方法
3.NotOverridable(缺省) ----防止一个属性或方法在继承类中被重载
4.MustOverride----当该关键字被使用时,需要继承的类一定要把该属性或方法重载,其中方法的表述只包括Sub,Function,或者Property

关于继承还有下列准则:
1.虽然,一个继承类只能够从一个类继承而来,但是他可以产生无数个接口。
2.一个公有的类不能继承一个friend的或者私有的类,而且一个friend类不能继承一个私有的类

使用MyBase访问基本类的方法
1.MyBase是对基类和他的继承成员的引用
2.MyBase不能用来限定本身,所以下面的描述是错误的:MyBase.MyBase.BtnOk_Click()
3.MyBase不能被用成一个变量,或者是过程,或者用在"Is"比较中,MyBase并不是一个真正的对象。
4.MyBase可以被用作一个共享成员(shared members);这时它是有值得,因为共享成员是可以被shadowed

使用MyClass的方法:
MyClass与Me相对而言

如何得到DataGrid绑定的DataTable的当前行的行号(c#)
BindingManagerBase bm = this.dataGrid1.BindingContext[this.dataGrid1.DataSource, this.dataGrid1.DataMember];
DataRow dr = ((DataRowView)bm.Current).Row;


DataRow dr = ((DataRowView)dataGridView.Rows[n].DataBoundItem).Row;

可选的方法参数关键字:Optional
如:public abc(byval a as string,Optional b as string = "6")
Optional参数一定要发到最后

关于报表打印
在.net 中操作水晶报表 使用reportdocument,具体的可以看reportdocument的模型介绍
操作打印机 使用printdocument
例:
Dim rptDocument As ReportDocument = New ReportDocument
        rptDocument.Load(ms_RepPath & ms_RepName) '帳票ファイル設定
        rptDocument.DataDefinition.RecordSelectionFormula = ms_KeyCurms & " = '" & gs_UkeNo & "'"  ''キー(受付番号)設定
        rptDocument.PrintToPrinter(1, False, 0, 0)  '帳票印刷実行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值