表格启动后如何更新?
How to update form after it has started?
winform启动后是否可以更新
例如。
import clr
clr.AddReference("System")
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import (Application, Form, StatusBar)
form = Form()
form.sb = StatusBar()
form.sb.Parent = form
form.sb.Text = "Demo"
Application.Run(form)
form.sb.Text = "Test"
我能看到 "Demo" 但看不到 "Test"。
如何在Application.Run之后更改状态栏?
只需在加载事件中添加代码
private void Form_Load(object sender, EventArgs e)
{
sb.Text = "Test";
Application.DoEvents();
}
调用 do 事件以强制重绘表单。
VB
Private Sub Form_Load(Byval Sender As Object, Byval e As EventArgs)
sb.Text = "Test"
Application.DoEvents()
End Sub
你试过me.refresh()
或form.refresh()
了吗?
Application.Run(form)
在当前线程上启动标准应用程序循环。这意味着在表单关闭之前,行 form.sb.Text = "Test"
实际上不会做任何事情。您可以使用 form.Show()
显示表单,然后可以更新它。
您可以做以下两件事之一。首先,按照 Wheels73 的建议,在表单加载事件上添加一个事件处理程序。您可以使用以下几行来完成。
def form_load(sender, e):
sender.sb.Text = 'Test'
form.Load += form_load
Application.Run(form)
您还可以为表单创建一个 class 并在其中添加事件处理程序。我建议读一读:http://www.voidspace.org.uk/ironpython/winforms/
winform启动后是否可以更新
例如。
import clr
clr.AddReference("System")
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import (Application, Form, StatusBar)
form = Form()
form.sb = StatusBar()
form.sb.Parent = form
form.sb.Text = "Demo"
Application.Run(form)
form.sb.Text = "Test"
我能看到 "Demo" 但看不到 "Test"。
如何在Application.Run之后更改状态栏?
只需在加载事件中添加代码
private void Form_Load(object sender, EventArgs e)
{
sb.Text = "Test";
Application.DoEvents();
}
调用 do 事件以强制重绘表单。
VB
Private Sub Form_Load(Byval Sender As Object, Byval e As EventArgs)
sb.Text = "Test"
Application.DoEvents()
End Sub
你试过me.refresh()
或form.refresh()
了吗?
Application.Run(form)
在当前线程上启动标准应用程序循环。这意味着在表单关闭之前,行 form.sb.Text = "Test"
实际上不会做任何事情。您可以使用 form.Show()
显示表单,然后可以更新它。
您可以做以下两件事之一。首先,按照 Wheels73 的建议,在表单加载事件上添加一个事件处理程序。您可以使用以下几行来完成。
def form_load(sender, e):
sender.sb.Text = 'Test'
form.Load += form_load
Application.Run(form)
您还可以为表单创建一个 class 并在其中添加事件处理程序。我建议读一读:http://www.voidspace.org.uk/ironpython/winforms/