-2

例子:

public partial class abc1 : Form
{
       public string str__subgrp { get; set; }
       public string str__type { get; set; }
       public string return_str__type { get; set; 

       public abc1()
       {
          InitializeComponent();
       }
       private void savebtn_click(object sender, EventArge e )
       {
            this.str__subgrp = "ABC";
            this.str__type = "123";
            this.return_str__type = "This word is unicode";
       }
}

public partial class worknow : Form
{
       // ... declare variable in class ....

       public worknow()
       {
          InitializeComponent();
       }

       private void showformbtn_click(object sender, EventArge e )
       {
            string a,b,c;
            using ( var abc1_frm = new abc1())
            {
                 abc1_frm.ShowDialog();
                 a = abc1_frm.str__subgrp;
                 b = abc1_frm.str__type;
                 c = abc1_frm.return_str__type;  // This variable = null

            }
       }
}

在注释行中(此变量 = null)

为什么变量有return_str__type返回null值?

4

3 回答 3

1

abc1_frm.return_str__type如果您确保savebtn_click在对话框关闭之前执行该值,则只能期望具有与 null 不同的值。由于您没有告诉我们用户(或您作为测试人员)如何关闭对话框,并且如果您禁用了关闭按钮 [X],我能给您的唯一建议是在该方法的调试器中设置断点并检查代码是否被执行。

于 2013-09-09T17:51:43.970 回答
1

属性的分配return_str__type发生在savebtn_click功能中。你为什么期望这个函数调用?尝试将savebtn按钮设置为AcceptButtonfrom abc1,或找到一种方法如何将其定义savebtn_click为表单的默认事件。请用你的风格代码做点什么,我的眼睛在流血:)

于 2013-09-09T18:06:48.923 回答
0

我遇到了类似的问题。它与范围有关。尝试将return_str__type声明为公共静态类型,看看它是否有效。并不总是最佳实践,但可能会奏效。

于 2013-09-09T18:39:50.437 回答