表单传递空值

时间:2013-11-19 16:20:45

标签: c# winforms

我修复了表单加载问题。我将其更改为主要菜单未在加载事件上调用的位置,并修复了问题。现在我的检索事件获取版本但从未将其传递给我的表单。

以下是我转移流程的代码:

从哪里获取信息:

public string VersionPass { get; set; }
VersionPass = rtxtBoxNewVersion.Text;

这是主菜单,其中将存储值,直到他们单击分配按钮。这是从表单中获取值的地方。

public string VersionNum { get; set; }
VersionEditor newV = new VersionEditor();
newV.ShowDialog();

VersionNum = newV.VersionPass;

newV.Dispose();

表单被转移到我正在使用表单加载,因为值不会改变:它永远不会将值传入PassedVersion = passedVersion.VersionNum;字段。

MainMenu passedVersion = new MainMenu()
string PassedVersion;

private void Notification_Load(object sender, EventArgs e)
{
    PassedVersion = passedVersion.VersionNum;
    rTxtBoxVersion.Text = PassedVersion;
}

1 个答案:

答案 0 :(得分:1)

不得不在这里猜一下,但是......

1)从MainMenu()电话中取出新的Notification_Load。这可能会停止正确创建对话框。

2)如果您想共享信息,您需要将其传递给新对象,例如在您创建时:

MyObject = new MyClass(SomeObjectToTellItAbout); 
// or maybe like this:
MyObject.InterestingInfo = SomeOtherObject;

如果它是真正的全局信息(例如,应用程序版本),您可以使信息共享静态(然后像下面这样访问它:MainMenu.MyAppVersion)。

根据评论

修改

您希望了解类与对象。一堂课只是一种设计;这是一个概念。例如“人”。对象是该类/概念/设计的实例化,例如我。而你(另一个对象)。我不能通过说h = new human(); h.name()来找到你的名字,也不能通过制作一个新的MainMenu找到你的版本,并询问它是什么版本!希望有所帮助。