我正在尝试创建一个表单,我可以在文本框中更新文本,而无需用户进行交互。现在我正在尝试在我的表单类中创建一个更新TextBox.Text字段的方法。在课外,我无法访问该功能。
现在我正在尝试
static void Main()
{
Form status = new Window();
Application.Run(status);
status.UpdateTextBox("NewText");
}
我的表单类似(来自设计师)
public partial class Window : Form
{
public Window()
{
InitializeComponent();
}
public void UpdateTextBox(string text)
{
textBox1.Text = text;
}
}
我也试过让Textbox成为这样的公共属性。
public string DisplayedText
{
get
{
return textbox1.Text;
}
set
{
textbox1.Text = value;
}
}
我正在尝试在运行时编辑该字段。这可能吗?
答案 0 :(得分:1)
您可以访问该功能,但如果您查看代码,则会出现问题:
static void Main()
{
Form status = new Window();
Application.Run(status); // Blocks here!
status.UpdateTextBox("NewText");
}
当您调用Application.Run()时,在状态窗体关闭之前,它不会将控制权返回给您的程序。那时,设置状态为时已晚......
您可以在运行之前设置它,但在构建之后:
static void Main()
{
Form status = new Window();
status.UpdateTextBox("NewText");
Application.Run(status);
}
答案 1 :(得分:0)
这是代码...... Application.Run将阻塞,在关闭表单之前,status.UpdateTextBox不会执行。
static void Main()
{
Form status = new Window();
Application.Run(status);
status.UpdateTextBox("NewText");
}