【问题标题】:Button Not Functioning When Clicked单击时按钮不起作用
【发布时间】:2014-03-24 15:36:21
【问题描述】:

当我点击表单上的按钮时,什么都没有发生。我尝试了几乎所有可以解决的问题,但什么也没发生。我是新手,请大家帮忙。在此先感谢专家。

Imports System.Convert
Imports System.IO
Public Class Form3
Inherits System.Windows.Forms.Form
Public frm1 As Form1
Private frm4 As Form4


Public Sub New1(ByVal callerInstance As Form1)

    InitializeComponent()

    ' save the instance of the Me variable passed to this constructor
    frm1 = callerInstance
End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim frm1 As Form1 = Form1
    Dim frm4 As Form4 = Form4



    'program execution proper

    Dim lbl3 As Integer = CInt(frm4.Label3.Text)

    If Not String.Equals(frm1.TextBox2.Text.Trim(), TextBox1.Text.Trim(), StringComparison.InvariantCultureIgnoreCase) Then
        lbl3 = (lbl3) + 1
        frm4.Label3.Text = CStr(lbl3)
        If Not String.Equals(frm1.TextBox4.Text.Trim(), TextBox2.Text.Trim(), StringComparison.InvariantCultureIgnoreCase) Then
            lbl3 = (lbl3) + 1
            frm4.Label3.Text = CStr(lbl3)
            If Not String.Equals(frm1.TextBox6.Text.Trim(), TextBox3.Text.Trim(), StringComparison.InvariantCultureIgnoreCase) Then
                lbl3 = (lbl3) + 1
                frm4.Label3.Text = CStr(lbl3)


                If Not String.Equals(frm1.TextBox8.Text.Trim(), TextBox4.Text.Trim(), StringComparison.InvariantCultureIgnoreCase) Then
                    lbl3 = (lbl3) + 1
                    frm4.Label3.Text = CStr(lbl3)

                    If Not String.Equals(frm1.TextBox10.Text.Trim(), TextBox5.Text.Trim(), StringComparison.InvariantCultureIgnoreCase) Then
                        'frm4.Label3.Text = (frm4.Label3.Text) + 1 
                        frm4.Label3.Text = CStr(lbl3)

                        If Not String.Equals(frm1.TextBox12.Text.Trim(), TextBox6.Text.Trim(), StringComparison.InvariantCultureIgnoreCase) Then
                            lbl3 = (lbl3) + 1
                            frm4.Label3.Text = CStr(lbl3)

                            If Not String.Equals(frm1.TextBox14.Text.Trim(), TextBox7.Text.Trim(), StringComparison.InvariantCultureIgnoreCase) Then
                                lbl3 = (lbl3) + 1
                                frm4.Label3.Text = CStr(lbl3)

                                If Not String.Equals(frm1.TextBox16.Text.Trim(), TextBox8.Text.Trim(), StringComparison.InvariantCultureIgnoreCase) Then
                                    lbl3 = (lbl3) + 1
                                    frm4.Label3.Text = CStr(lbl3)

                                    If Not String.Equals(frm1.TextBox18.Text.Trim(), TextBox9.Text.Trim(), StringComparison.InvariantCultureIgnoreCase) Then
                                        lbl3 = (lbl3) + 1
                                        frm4.Label3.Text = CStr(lbl3)

                                        If Not String.Equals(frm1.TextBox20.Text.Trim(), TextBox10.Text.Trim(), StringComparison.InvariantCultureIgnoreCase) Then lbl3 += 1
                                        lbl3 = (lbl3) + 1

                                        frm4.Label3.Text = CStr(lbl3)

                                        If frm1.Label1.Text = TextBox9.Text Then
                                            lbl3 += 0
                                            frm4.Show(Me)
                                            Me.Hide()


                                        Else

                                            lbl3 = (lbl3) + 0
                                            frm4.Label3.Text = CStr(lbl3)
                                            frm4.Show(Me)
                                            Me.Hide()

                                        End If
                                        If frm4 IsNot Nothing Then
                                            frm4.Visible = False

                                            frm4.Show(Me) 'Show Second Form  

                                            Me.Hide()
                                        End If

                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            End If
        End If
    End If


End Sub


End Class

【问题讨论】:

  • 您是否尝试过在 Click 事件中设置断点并使用调试器跟踪它?
  • @AdamZuckerman 嗨,先生,感谢您的意见。是的,我试过了,但我没有看到任何可疑的东西:(
  • 因此,当您单步执行代码时,您是否会检查每个文本框的值以查看您的条件是否正常工作?
  • 首先检查它是否发生在另一个事件上。在表单上放置一个新按钮,双击它以创建句柄。然后在里面放一个消息框,看看它是否被击中。在 sub 上设置断点。
  • 你没有初始化frm变量,缺少New关键字。

标签: .net vb.net winforms forms


【解决方案1】:

我通过删除frm4.show(Me) 上的“Me”并将其更改为frm4.show() 来使其工作,因为我在按钮单击事件的句柄上声明了两个表单。

【讨论】:

  • 好...你抓住了它:)
猜你喜欢
  • 1970-01-01
  • 2023-04-05
  • 2017-03-09
  • 1970-01-01
  • 2015-02-02
相关资源
最近更新 更多