110,545
社区成员
发帖
与我相关
我的任务
分享
namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 form1 = new Form1()
{
TextboxText = "主线程赋值",
};
Application.Run(form1);
}
}
}
public partial class Form1 : Form
{
public string TextboxText;
public Form1()
{
InitializeComponent();
textBox1.Text = TextboxText;
// textBox1.Text = "类内赋值";
}
}
private string _TextboxText;
public string TextboxText
{
get
{
return _TextboxText;
}
set
{
_TextboxText = value;
this.TextBox1.Text = value;
}
}
要从模式的高度来理解。不能用一堆零撒的代码来拼凑逻辑。textBox1.Text = TextboxText;
然后给 TextboxText 赋值,这基本上是属于自己弄的 TextboxText 这么个变量出现的问题。但是从 UI 逻辑设计上看,既然你弄了类似 TextboxText 这种东西,它 改变时也应该实时地设置到 UI 控件。多弄出一个东西反而不能同步值,这其实自找麻烦。textBox1.Text = TextboxText;
这类 UI 显示操作代码,应该放到 Form_Load 事件处理或者这个事件处理完毕之后,才执行。
namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 form1 = new Form1("主线程赋值") //构造传参
{
};
Application.Run(form1);
}
}
}
public partial class Form1 : Form
{
public string TextboxText;
public Form1(string text)
{
InitializeComponent();
textBox1.Text = text;
}
}