gpt4 book ai didi

vb.net - 为什么 Windows 窗体控件单击事件在窗体显示事件之前被触发?

转载 作者:行者123 更新时间:2023-12-04 18:05:02 25 4
gpt4 key购买 nike

我有一个实例化并打开另一个表单的表单。直到最近它都运行良好,同时重新调整第二个表单的用途,即在表单加载后开始触发表单上单选按钮上的单击事件。我在 form.shown 事件中有代码,但它从未被调用(表单在单选按钮单击事件期间崩溃,因为它不应该这么快被调用)。调用堆栈窗口表明 PictureBox 单击事件也在 RadioButton 单击事件之前或之后被触发。

表单加载:

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
lblCountdown.TextAlign = ContentAlignment.TopCenter
lblCountdown.Font = New Font(lblCountdown.Font.Name, lblCountdown.Font.Size + 10, lblCountdown.Font.Style)

radFirstRunContinue.Checked = False
radFirstRunContinue.Visible = False

For Each picBox As PictureBox In tlpButtonTableLayout.Controls
AddHandler picBox.Click, AddressOf Me.PictureBox_click
Next
End Sub

最佳答案

有时表单控件会在表单初始化时触发。这听起来像是一个错误,但 Microsoft 称之为“设计使然”。

  1. 检查并确保只加载了一个表单实例。如果您从外部访问表单中的变量或控件,它将启动隐式表单加载。要检查这一点,只需在 Load 事件处理程序的开头设置一个断点。

  2. 您可以使用一个标志(例如,初始化为 true),控制处理程序可以使用该标志来查看正在加载的表单。您可以在 Shown 事件的表单中重置标志。

关于vb.net - 为什么 Windows 窗体控件单击事件在窗体显示事件之前被触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28553113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com