我总觉得您对继承的概念是不是理解偏了啊,例如,B类继承A类,b是B类的一个实体对象,a是A类的一个实体对象,那么继承的概念不是说b要去修改a什么东西啊,只是说B类继承了A类的方法事件属性什么的,如果你觉得A类的方法function_A不合适,你可以使用覆盖或者重载或者干脆新增一个方法到B类中啊,这个不是最基本的面向对象么。我用过Delphi将近一年,现在看VB.NET,基本上已经和Delphi没有太大区别了,不要上来就持否定态度:P
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了古田免费建站欢迎大家使用!
要确立父子窗体,那子窗体必须继承父窗体。实例化子窗体对象调用Show()方法。
希望采纳
Dim locForm2 As New Point
locForm2.X = 150
locForm2.Y = 50
Form2.MdiParent = Me
Form2.Show()
Form2.Location = locForm2
前三句,声明了一个坐标点,并且赋了值
最后一句,当Form2显示了后,把坐标点赋给Form2的位置属性,就可以让Form2出现在你给定的位置了
父窗体关闭的时候,子窗体自然就关闭了。所以你第二个问题不是问题。
这是C#的方法,你自己转换为vb.net的,转不了再追问吧。
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.Show();
frm.Owner = this;
MethodInfo mi = typeof(Application).GetMethod("RunDialog", BindingFlags.Static | BindingFlags.NonPublic);
mi.Invoke(null, new object[] { frm});
}
Private ctrName As String '控件名称
Private isClick As Boolean '鼠标点击状态
'注:如果已知点击目标控件的父控件,ctrParent变量可以不要。
Private WithEvents ctrParent As Control '父控件
Private Sub ControlAMouseDown(sender As Object, e As MouseEventArgs) _
Handles Button1.MouseDown
isClick = (e.Button = MouseButtons.Left _
Or e.Button = MouseButtons.Right) '左键或右键按下
If isClick Then
Dim ctr As Control = CType(sender, Control) '转换Object为控件类型
ctrName = ctr.Name '获取控件名称
ctrParent = ctr.Parent '获取控件的父控件
End If
End Sub
'增加这个父控件事件,是为了正确判别鼠标弹起时是否已进入指定目标
Private Sub ParentMouseMove(sender As Object, e As EventArgs) _
Handles ctrParent.MouseMove '如果已取消ctrParent变量,改为相应的父控件
If isClick Then isClick = False '点击状态关闭
End Sub
Private Sub ControlBMouseUp(sender As Object, e As EventArgs) _
Handles Button2.MouseEnter
If isClick Then '如果点击状态为打开
Dim ctr As Control = CType(sender, Control) '转换Object为控件类型
MsgBox(ctrName " | " ctr.Name) '弹出消息显示结果
End If
End Sub