C#winform textbox.text不';不变
在设计时,我设置了textbox1.Text=“hello”。在Main类中,我有一个按钮,它将打开一个新的表单B,在该表单B上我有一个组框,用于添加此用户控件a并更改X属性值=“hello world”,但textBox1.Text在UI上不会更改。当我在设置textbox1.Text=this.\u x之后设置断点时,它显示值确实更改为“hello world”,但它没有反映在UI上 为什么??如何修复它C#winform textbox.text不';不变,c#,winforms,C#,Winforms,在设计时,我设置了textbox1.Text=“hello”。在Main类中,我有一个按钮,它将打开一个新的表单B,在该表单B上我有一个组框,用于添加此用户控件a并更改X属性值=“hello world”,但textBox1.Text在UI上不会更改。当我在设置textbox1.Text=this.\u x之后设置断点时,它显示值确实更改为“hello world”,但它没有反映在UI上 为什么??如何修复它 非常感谢。我的猜测是(因为我没有看到所有的代码,这就像猜谜游戏8)-classB中有I
非常感谢。我的猜测是(因为我没有看到所有的代码,这就像猜谜游戏8)-
classB
中有InitializeComponent
方法。由于X
属性没有DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
属性,因此它在InitializeComponent
方法中以空字符串序列化,从而删除以前显式设置的值。我的猜测是(因为我看不到所有代码,这就像猜谜游戏8))-在classB
中有InitializeComponent
方法。因为X
属性没有DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
属性它在InitializeComponent
方法中用空字符串序列化,从而删除以前显式设置的值。是否要将textbox的文本更改为与X相同的文本,而不必指定this.txtBox1.text=this.\u X代码>谢谢。我只是更新了问题。你使用数据绑定吗?不,我不使用数据绑定。不知道为什么set.Text直接不起作用。@user858931显示您的`//Show Form B`code是否要将textbox的文本更改为与X相同的文本,而不必指定this.txtBox1.Text=this.\u X代码>谢谢。我只是更新了问题。你使用数据绑定吗?不,我不使用数据绑定。不知道为什么set.Text直接不起作用。@user858931显示您的`//显示表单B`代码
public partial class A : UserControl
{
private string _x;
public string X {
get { return _x; }
set {
this._x = value;
this.textBox1.Text = this._x;
}
}
public partial class B : WinForm
{
public B() {
//Add usercontrol A to Groupbox1
//Set A.X = "hello world"
}
}
public class MainForm: WinForm
{
public void button1_Click(....) {
B bForm = new B();
bForm.ShowDialog();
}
}