将数据从一种形式传递到另一种形式

时间:2012-10-12 12:21:51

标签: c# .net forms

今天我在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能够正常工作我的本地计算机无法在客户服务器上运行?

有人可以说这是为什么吗?

3 个答案:

答案 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() - 与空白构造函数相同。

http://www.dotnetperls.com/initializecomponent