表单是关于我们表单,因此没有任何内容只有文本框和确定按钮。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Close()
End Sub
以下是我打开表单的方式:
Private Sub AboutAppStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutAppStripMenuItem.Click
Dim formAbout As New FormAbout()
formAbout.Show()
End Sub
为什么按钮不会关闭表格?我很困惑,我尝试了另一个按钮以防万一,结果相同。
更新:我在Me.Close()上设置了一个断点,当我点击按钮时它没有到达它,我创建了一个新按钮,同样的事情发生了。
由于
答案 0 :(得分:2)
我打赌,无意中删除了button1_click事件的事件处理程序。
尝试在设计时双击该按钮,看看它是否会将您拉回到同一段代码 - 或新的事件处理程序定义。
如果是新的事件处理程序定义 - 将代码复制到那里并删除第一个。
还有其他方法可以在设计人员的代码隐藏中手动添加事件处理程序 - 但这可能是为了以后的进展。
在VS中,单击解决方案资源管理器中的“显示所有文件”按钮。抓住.Designer.vb中的代码并将其粘贴到此处,我们将最终为您确定。
这是我的:
Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form1
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
_
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
_
Private Sub InitializeComponent()
Me.Button1 = New System.Windows.Forms.Button
Me.SuspendLayout()
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(131, 91)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(133, 50)
Me.Button1.TabIndex = 0
Me.Button1.Text = "Button1"
Me.Button1.UseVisualStyleBackColor = True
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.Controls.Add(Me.Button1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
End Sub
Friend WithEvents Button1 As System.Windows.Forms.Button
End Class
答案 1 :(得分:0)
来自MSDN:
显示控件等效于将Visible属性设置为true。调用Show方法后,Visible属性返回值true,直到调用Hide方法。
答案 2 :(得分:0)
当formabout打开时
点击visual studio中的暂停(全部中断)按钮
点击Visual Studio中的调试步骤
点击formabout中的关闭按钮
您将看到执行了哪些代码
*编辑*
另一个问题
是formbout.enabled属性是真的吗?
答案 3 :(得分:0)
我测试了以下
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles Button1.Click
Dim f As New Form2
f.Show()
End Sub
End Class
Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles Button1.Click
Me.Close()
End Sub
End Class
并没有问题。按照建议,重新创建按钮和代码。
答案 4 :(得分:0)
添加按钮动态可以解决问题。 将以下代码放在about Form。的加载事件中。
Public Sub FormAbout_Load(ByVal sender as object,ByVal e as System.EventArgs)Handles Me.Load
Dim btn as new Button()
AddHandler btn.Click ,AddressOf _ClickToClose
End Sub
Private Sub _ClickToClose(ByVal sender as object,ByVal e as System.EventArgs)
Me.Close()
End Sub
答案 5 :(得分:0)
简单。
解决。