如何在没有在每个表单中编写相同代码的情况下,使用按钮来最小化表单而将其他按钮退出?

时间:2014-08-19 17:21:41

标签: vb.net visual-studio

我创建了一个无边框表单,因此我创建了自己的退出并最小化按钮。它有效,但我想知道是否有办法避免必须写出每个按钮在每个表单中的作用。我试图创建一个模块,但我从未学会如何使用它,我不知道如何使它工作,因为我不能使用“me.Close”和那些东西......任何人都可以帮助我?

2 个答案:

答案 0 :(得分:1)

您可以使用继承

执行此操作

在Vb.Net中继承winForm

Public Class CustomerEditForm
Inherits VBInheritanceSample.DataEntryBaseForm

在C#中继承winForm

public class CustomerEditForm :
CSInheritanceSample.DataEntryBaseForm

现在,有关您的案例的完整示例,请访问此教程:Understanding Visual Inheritance in .NET

在本教程中,您将学习如何使用按钮和事件创建winForm。之后,它会向您展示如何继承到另一个winForms。

嗯,这只是一种方式,我认为人们可以告诉你另一个好主意。

答案 1 :(得分:0)

您需要将我更改为发件人。“因此,如果您在form2上调用它,那么它的Me.Close for form2”

在form1中,添加退出代码并在公共子中最小化。

Public Sub MinimizeForm(sender As Object)
    sender.WindowState = FormWindowState.Minimized
End Sub

Public Sub ExitForm(sender As Object)
    sender.Close()
End Sub

从form1中你可以这样称呼它:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Me.MinimizeForm(Me)
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Me.ExitForm(Me)
End Sub

然后从form2和所有其他形式你这样称呼它:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Form1.MinimizeForm(Me)
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Form1.ExitForm(Me)
End Sub