今天我在c#winform计划中提出了一个问题。
如果有表格A 和表格B ;表格B有一个文本框(需要只读)
表格A代码如下:
B b = new B("FormB");
b.Show();
FormB代码如下:
Situation1:
public B(string str)
{
this.textbox1.text = str;
this.textbox1.Enable = false;
}
我将程序部署到客户服务器,但textbox1.text = ""
没有价值,但它可以在我的本地计算机上运行。
我试试这个:
Situation2:
public B(string str)
{
this.textbox1.text = str;
this.textbox1.ReadOnly = true;
}
然后texbox1.text = "FormB";
它可以在我的本地计算机和客户服务器上运行。
关键而重要的问题是,为什么情况1能够正常工作我的本地计算机无法在客户服务器上运行?
有人可以说这是为什么吗?
答案 0 :(得分:2)
让我看看我是否理解正确,您问为什么当您使用TextBox
和不 ReadOnly = true
时,Enabled = false
上的文字会更新?
如果是这样,我想这是设计的。
来自MSDN:TextBoxBase.ReadOnly Property
当此属性设置为true时,控件的内容不能 用户在运行时更改。 将此属性设置为true,即可 仍然可以在代码中设置Text属性的值。您可以使用它 功能而不是使用Enabled属性禁用控件 允许复制内容并显示工具提示。
答案 1 :(得分:1)
已经提出并回答了类似的问题......以下是我提供的一些样本
One Sample
Another using properties and methods to expose / exchange data -- almost step by step sample
答案 2 :(得分:0)
您需要在构造函数中使用InitializeComponent()
- 与空白构造函数相同。