VB.NET中的Windows窗体问题
我正在制作一个非常简单的游戏应用程序。主窗体(Form1)上有一个标记为Button1的按钮。(非常有创意的命名,嗯?)应用程序的要点是在表单上沿随机方向移动按钮。我的问题是,当我开始调试时(我使用的是Visual Studio 2010),表单从未显示,当我打开Windows任务管理器时,我的.exe名称从未显示在进程列表中。我想知道我使用的代码是否与此有关。这是我的密码:VB.NET中的Windows窗体问题,vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,我正在制作一个非常简单的游戏应用程序。主窗体(Form1)上有一个标记为Button1的按钮。(非常有创意的命名,嗯?)应用程序的要点是在表单上沿随机方向移动按钮。我的问题是,当我开始调试时(我使用的是Visual Studio 2010),表单从未显示,当我打开Windows任务管理器时,我的.exe名称从未显示在进程列表中。我想知道我使用的代码是否与此有关。这是我的密码: Class Form1 Private Sub Form1_Load(...) Initi
Class Form1
Private Sub Form1_Load(...)
InitializeComponent()
While True
MoveIt()
End While
End Sub
Sub MoveIt()
Dim rand As Short
Randomize()
rand = (Rnd() * 5)
Select Case rand
Case 0
'move button up 5px
Button1.Top -= 5
Case 1
'move button up 5px
Button1.Top -= 5
Case 2
'move button left 5px
Button1.Left -= 5
Case 3
'move button right 5px
Button1.Left += 5
Case 4
'move button down 5px
Button1.Top += 5
Case 5
'move button down 5px
Button1.Top += 5
End Select
End Sub
End Class
是的,您的代码与此有关。表单的
Load
事件中有一个没完没了的While
循环,这意味着Load
事件永远不会返回,这意味着表单基本上永远不会完成加载
使用BeginInvoke
从Load
事件触发随机按钮移动过程的开始,而不是从Load
事件调用此命令:
是的,您的代码与此有关。表单的
Load
事件中有一个没完没了的While
循环,这意味着Load
事件永远不会返回,这意味着表单基本上永远不会完成加载
使用BeginInvoke
从Load
事件触发随机按钮移动过程的开始,而不是从Load
事件调用此命令:
如果处于调试模式,则任务管理器中不会有exe 对于表单问题,你可以设置断点并缓慢调试
尝试将
form1 load
放在初始化组件
下面。如果处于调试模式,则任务管理器中不会有exe
对于表单问题,你可以设置断点并缓慢调试
尝试将
form1加载
放在初始化组件
下面您不能在WinForms中编写无限循环
如果您这样做,您的程序将永远没有机会处理消息,因此它将无法工作
相反,您应该使用计时器。您不能在WinForms中编写无限循环 如果您这样做,您的程序将永远没有机会处理消息,因此它将无法工作
相反,应该使用计时器。如果要移动按钮,请使用按钮的渲染或预渲染。。。在表单加载上使用无限循环使其挂起…如果要移动按钮,请使用按钮的渲染或预渲染。。。在表单加载上使用无限循环使其挂起…sry。。没有看到while循环。sry。。没有看到while循环。